接口自动化测试必备技能——HTTP协议(九)
1. HTTP协议简介及状态码解析
- HTTP协议简介
- HTTP协议,中文名称为超文本传输协议
- 它是一个应用层的协议,私有请求和响应构成
- 其典型的引用场景就是浏览器和服务器之间进行数据传输
- HTTP协议的基本工作流程
3. HTTP协议状态码解析
5种状态分类
- 1**:服务器收到请求,需要请求者继续执行操作
- 2**:操作被成功接受并处理
- 3**:请求长定向,需要进一步的操作以完成请求
- 4**:客户端错误,请求包含语法错误或无法完成请求
- 5**:服务器错误,服务器在处理请求的过程中发生了错误
- HTTP协议常见具体的状态码
200:请求成功
400:客户端请求的语法错误,服务器无法理解
401:请求要求用户的身份认证
403:服务器理解请求客户端的请求,但是拒绝执行此请求
404:服务器无法根据客户端的请求找到资源
405:客户端请求中的方法被禁止
500:服务器内部错误,无法完成请求
503:由于超载或系统维护,服务器暂时的无法处理客户端的请求
505:服务器不支持请求的HTTP协议的版本,无法完成处理
2. HTTP协议请求头解释
- Axxept:告诉服务器自己接受什么数据类型
- Axxept-Encoding:浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法
- Accept-Language:浏览器声明自己接收的语言
- Connection:表示是否需要持久连接
- Cookie:保持客户端部分信息发送到服务端验证和使用
- Host:客户端指定自己想访问的WEB服务器的域名/IP地址和端口号
- jwt-token:代表了客户端向服务端请求时带有什么验证信息
- Origin:代表了客户端的请求来自于哪个站点
- Referer:浏览器向WEB服务器表明自己是从哪个网页URL获取得点击当前请求中的网址/URL
- User-Agent:浏览器表明自己的身份(是那种浏览器)
- X-Requested-With:标识着请求是同步请求还是异步请求
- Cache-Control:指定请求和响应遵循的缓存机制,决定了如何管理和使用缓存
3. HTTP协议响应头解析
- 以下图圈住就是响应头
- Access-Control-Allow-Credentials:请求的响应是否可以暴露于该页面,当true值返回时它可以被暴露
- Access-Control-Allow-Origin:服务器端允许进行跨域资源访问的来源域
- Content-Type:服务端告诉客户端响应体的内容类型
- Date:创建响应数据(报文)的日期时间,就是消息发送的时间
- Transfer-Encoding:传输编码,chunked是分开传输的意思
- Vary:服务器用这个头的内容告诉缓存服务器,在什么条件下才能用本响应所返回的对象响应后续的请求
- Allow:服务器支持哪些请求方法(如GET,POST等)
- Server:服务器表明自己是什么软件及版本等信息
4. Cookie和Session的工作机制及区别
- 什么是Cookie?
- Cookie是一直网站为了识别用和跟踪会话而存储在用户本地终端中的文本数据
- Cookie的工作流程
- 进入开发者工具路径
4. 什么是Session?
- Session是指会话控制,是保存在服务器上一种机制,当客户端访问服务器的时候,服务器会把信息以某种形式记录在服务器上,恰恰和Cookie相反。
- 以下圈住的就是id
- Session的工作流程
- Cookie和Session的区别
- 存放位置不同,Cookie放在客户端,Session存在服务端
- 存放位置不同导致安全性不同,Cookie存在客户端中,用户可以任意分析Cookie,而Session在服务端,用户分析不到
- 数据存储大小不同,Cookie保存的数据不能超过4K,Session存在服务端,所以没有限制
- 性能使用情况不同,当访问过多时Session比较占用服务器资源,而Cookie不会