1、接口测试 - HTTP 协议解读

HTTP 协议解读

一、 HTTP协议

请求报文格式:四个部分

请求行:独占一行的。由:请求方法、请求路径、请求协议/版本组成。

请求头 :从第二行到第N行。由键值对 组成。可以有1对,也可以有N对。key:value

空行 : 独占一行的。由回车换行组成。

请求正文 :请求消息体

二、常见请求头含义

  • User-Agent:告诉服务器客户端的相关信息(如果是浏览器会有版本,内核等信息)

  • referer:告诉服务器,此请求是从哪个页面上发出来 (防盗链)

  • X-Requested-With:告诉服务器这个是一个ajax请求
  • Cookie:带给服务器的cookie信息
  • content-type:告诉服务器消息体的数据类型
    • application/x-www-form-urlencoded
    • multipart/form-data
    • application/json
    • text/xml

三、 HTTP响应报文

响应报文格式:四个部分组成

  • 状态行:独占一行。由协议/协议的版本、状态码、状态描述符组成
  • 响应头:从第二行到第N行。由键值对组成。
  • 空行:独占一行的。由回车换行组成。
  • 响应的正文

四、常见响应头含义:

  • location:告诉浏览器跳到哪里
  • content-length:告诉浏览器回送数据的长度
  • content-type:告诉浏览器回送数据的类型

五、请求体的数据类型

  • data : 请求体是表单格式的时候,这个参数默认的格式就是表单格式
    • 变量 = 值 :’Content-Type‘ : ’application/x-www-from-urlencoded‘
  • json : 如果请求体的数据格式是 json , 可以直接使用变量,模式就是 json格式
    • 变量 = 值 : ’Content-Type‘: ’application/json‘
  • files : 文件上传接口使用
  • params : 一般 get 请求使用

request 库帮助文档

json 与 字典 的区别

json : 是一个数据格式,本身就是 字符串 类型

dict : 数据类型, 可以存储, pycharm 控制台打印显示 一定是 单引号