美文网首页
零基础学习接口测试-HTTP消息结构

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

作者: 桃夭queen | 来源:发表于2020-04-15 16:09 被阅读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请求类似,但不返回响应数据,只返回响应头。黑客攻击会就用这个去看服务器信息等。

    三、[endif]状态码

    1、状态码作用:

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

    2、状态码类别:

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

    2XX:请求处理成功

    3XX:重定向

    4XX:客户端请求错误

    5XX:服务端错误

    3、常用状态码:

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

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

    301   永久重定向

    302   临时重定向

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

    403   服务器拒绝执行请求

    404   服务器找不到请求资源

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

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

    相关文章

      网友评论

          本文标题:零基础学习接口测试-HTTP消息结构

          本文链接:https://www.haomeiwen.com/subject/zfgcvhtx.html