代码改变世界

零基础学习接口测试-HTTP消息结构

2020-04-15 17:01  桃夭queen  阅读(227)  评论(0编辑  收藏  举报

一、HTTP请求/响应报文

1、HTTP通信过程:

客户端发送请求给服务端,服务端返回响应给客户端。

2、报文:

报文:HTTP协议客户端和服务端之间交互的信息。分为报文首部和报文数据两部分。

请求报文:客户端向服务器提交的请求信息。

响应报文:服务端返回给客户端的响应信息。

3、请求报文结构:

如下图所示:包括请求行、请求头部、空行、请求数据四部分组成。

 

 3.1、请求行:包括请求方法、请求URI和协议版本。

3.2、请求头部:通知服务器客户端的请求信息。键值对形式出现,每行一对,关键字和值用英文冒号“:”分隔。

常用头部字段:

Accept: 客户端可接受的信息类型,如text/html,application/xhtml+xml

Accept-Charset:客户端可接受的字符集,如gb2312

Accept-Encoding:客户端可接受的编码方式,比如gzip。

Accept-Language:客户端可接受的语言类型,如:zh-CN。

Authorization:HTTP身份验证的凭证

Content-Length: 设置请求体的字节长度,get请求可以没有,post请求必须包含这个。

Host: 设置服务器域名和TCP端口号,http协议,80端口就可以省略

Referer:客户端通过这个头告诉服务器,它是从哪个资源来访问服务器的,也就是防盗链。

User-Agent:包含发出请求的客户端信息,浏览器类型/版本等,如:Mozilla/5.0 (Windows NT 10.0; Win64; x64)

Cookie:在客户端记录信息确定用户身份,设置服务器时使用set-cookie。

Cache-Control:怎样处理缓存,例如:Cache-Control: no-cache

From:客户端的的email地址。

Connection:告诉服务器这个客户端想要使用怎样的连接方式,值为keep-alive和close

3.3、空行:分隔请求头部和请求数据的

3.4、请求数据:GET方法中不使用,POST方法中使用。一般是存储post的参数和参数数据。

4、响应报文结构:

包括状态行、响应头部、空行、响应数据

 

 

 4.1、状态行:协议版本、状态码、状态描述。

4.2、响应头部:服务端返回给客户端的一些描述信息。键值对形式出现,每行一对,关键字和值用英文冒号“:”分隔。

常用头部字段:

Content-Encoding: 服务器通过这个头告诉浏览器数据的压缩格式。

Content-Length: 服务器通过这个头告诉浏览器回送数据的长度。

Content-Disposition:告诉浏览器以下载方式打开数据。

Content-Type:服务器通过这个头告诉浏览器回送数据的类型

Last-Modified:指定服务器上保存内容的最后修订时间。

Location:重定向的跳转的路径

Refresh :定时刷新/定时跳转

server:服务器信息

set-Cookie:cookie信息

4.3、空行:分隔响应头和响应数据。

4.4、响应数据:服务端返回给客户端的响应数据,例如html页面,json数据等。

 

二、请求方法

1、最常用的三种请求方法:

get :请求资源(请求指定页面信息,并返回响应数据)

post :向服务器提交数据进行处理请求(提交表单、上传文件),会新建数据或修改/删除数据。

head :与get请求类似,但不返回响应数据,只返回响应头。黑客攻击会就用这个去看服务器信息等。

三、状态码

1、状态码作用:

描述返回的结果。包括服务端返回的响应信息是否正常、服务器是否正常工作、通知出现的错误等。

2、状态码类别:

1XX:指定客户端进行某些动作

2XX:请求处理成功

3XX:重定向

4XX:客户端请求错误

5XX:服务端错误

3、常用状态码:

200   请求成功,服务器成功返回内容。

注意:状态码为200,不代表返回的响应数据一定是对的(一定是我们想要请求的数据),这只代表服务器正常响应了客户端请求。

301   永久重定向

302   临时重定向

400   请求语法错误或参数错误

403   服务器拒绝执行请求

404   服务器找不到请求资源

500   服务器故障无法提供服务

503   服务器超负载或停机维护,一段时间后能提供服务

 

作    者:桃夭queen

公众号:桃夭queen

转载:转载请说明出处