Http请求
上一篇 /
下一篇 2014-09-23 15:59:48
/ 个人分类:学习记录
项目组安排我做接口
自动化测试,这就需要开发代码来实现,涉及到Http请求方面的一些知识,所以
学习一下这方面的知识,通过网上查找资料来补充自己的不足。
HTTP请求的详细过程
一个Http请求的详细过程
在浏览器输入:http://www.mycompany.com:8080/mydir/index.html
首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方进行通讯,大家要事先约定一个规范。
1、连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url离不包含端口号,则会使用该协议的默认端口号。
DNS的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其IP,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做一个树状结构,该请求将一直发送到根直到得到结果。拥有了目标ip和端口号,我们就可以打开socket连接了
2、请求 连接成功建立后,开始向
web服务器发送请求,这个请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为: GET 路径/文件名 HTTP/1.0 文件名指出所访问的文件,HTTP/1.0 指出Web浏览器使用的HTTP版本。现在可以发送GET命令:
GET/mydir/index.html HTTP/1.0
3、应答 web服务器收到这个请求,进行处理。从它的文档空间中搜索子目录mydir的文件index.html.如果找到该文件,Web服务器把该文件内容传送给相应的web浏览器。
为了告知浏览器,web服务器首先传送一些HTTp头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开。
4、关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其他web浏览器。
常用的
HTTP
头信息有:
①
HTTP
1.0
200
OK
这是
Web
服务器应答的第一行,
列出服务器正在运行的
HTTP
版
本号和应答代码。代码
"200
OK"
表示请求完成。
②
MIME_Version:1.0
它指示
MIME
类型的版本。
③
content_type:
类型
这个头信息非常重要,它指示
HTTP
体信息的
MIME
类型。如:
content_type:text/html
指示传送的数据是
HTML
文档。
④
content_length:
长度值
它指示
HTTP
体信息的长度(字节)
。
收藏
举报
TAG: