zoukankan      html  css  js  c++  java
  • 零基础学习接口测试-HTTP消息结构

    一、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

    转载:转载请说明出处

  • 相关阅读:
    关于HTTP协议,一篇就够了
    jvm在什么情况下会执行GC
    为什么我们做分布式使用Redis?
    linux入门系列
    linux学习笔记-13.进程控制
    linux学习笔记-12.输入输出重定向及管道
    app获取自己的签名
    安卓给微信公众号发消息
    微信扫码下载apk
    设备通道开启关闭状态
  • 原文地址:https://www.cnblogs.com/yanchufei/p/12706509.html
Copyright © 2011-2022 走看看