这是我参与「第五届青训营 」伴学笔记创作活动的第3天
HTTP协议
1初识HTTP
- Hyper Text Transfer Protocol超文本传输协
- 应用层协议,基于TCP协议
- 请求 响应
- 简单可扩展
- 无状态
2协议分析
持续发展|报文解析
2.1持续发展
HTTP/0.9单行协议
- 请求GET、mypage.html
- 响应只有HTML文档
HTTP/1.0构建可扩展性
- 增加了Header
- 有了状态码
- 支持多种文档类型
- ……
HTTP/1.1标准化协议(使用时间最久)
- 链接复用
- 缓存
- 内容协商
- ……
HTTP/2更优异的表现
- 二进制协议
- 压缩Header
- 服务器推送
- ……
HTTP/3草案
2.2报文解析
2.2.1Method
GET
请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据.
POST
用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用
PUT
用请求有效载荷替换目标资源的所有当前表示
DELETE
删除指定的资源
HEAD
请求一个与GET请求的响应相同的响应,但没有响应体
CONNECT
建立一个到由目标资源标识的服务器的隧道。
OPTIONS
用于描述目标资源的通信选项。
TRACE
沿着到目标资源的路径执行一个消息环回测试。
PATCH
用于对资源应用部分修改。
2.2.2
Safe (安全的) : 不会修改服务器的数据的方法
GET HEAD OPTIONS
ldempotent (幂等) : 同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的
所有safe的方法都是Idempotent的
GET HEAD OPTIONS PUT DELETE
2.2.3状态码
- 200 OK -客户端请求成功
- 301-资源(网页等)被永久转移到其它URL
- 302-临时跳转
- 401 Unauthorized -请求未经授权
- 404-请求资源不存在,可能是输入了错误的URL
- 500-服务器内部发生了不可预期的错误
- 504 Gateway Timeout-网关或者代理的服务器无法在规定的时间内获得想要的响应。
4开头通常是客户端错误,5开头是服务器相关错误
2.2.4 常用请求头
2.2.5缓存
强缓存
协商缓存
2.2.6 cookie
2.2.7HTTP/2概述
概述:更快、更稳定、更简单
3应用场景
4实战
WebSocket
- 浏览器与服务器进行全是·双工通讯的网络技术
- 典型场景:实时性要求高,例如聊天室
- URL使用ws://或wss://等开头