主要包含以下几点:
- HTTP协议的主要特点
- HTTP报文的组成部分
- HTTP方法
- POST和GET的区别
- HTTP状态码
- 什么是持久连接
- 什么是管线化
1⃣️.主要特点
- 简单快速
- 灵活
- 无连接
- 无状态
2⃣️.报文组成部分
请求报文:
- 请求行
- 请求头
- 空行
- 请求体
响应报文:
- 状态行
- 响应头
- 空行
- 响应体
3⃣️.HTTP方法
- GET >> 获取资源
- POST >> 传输资源
- PUT >> 更新资源
- DELETE >> 删除资源
- HEAD >> 获取报文首部
4⃣️.POST和GET的区别
- GET在浏览器回退时是无害的,而POST会再次提交请求
- GET产生的URL地址可以被收藏,而POST不可以
- GET请求会被浏览器主动缓存,而POST不会,除非手动设置
- GET请求只能进行URL编码,而POST支持多种编码方式
- GET请求参数会被完整的保存在浏览器历史记录里,而POST中的参数不会被保留
- GET请求在URL中传送的参数是有长度限制的,而PSOT没有限制
- 对参数的数据类型,GET只接受ASCII字符,而POST没有限制
- GET通过明文传递,更不安全
- GET参数通过URL传递,POST放在requsrt body当中
5⃣️.状态码
- 1xx:指示信息
- 2xx:成功
- 3xx:重定向
- 4xx:客户端错误
- 5xx:服务端错误
6⃣️.持久连接
- HTTP采用 “请求-应答” 模式,当使用普通模式,即非keep-Alive模式时,每个请求/应答,客户和服务器都要建立一个新的连接,完成之后即断开连接(HTTP协议无连接的协议)
- 当使用Keep-Alive模式时,Keep-Alive使客户端到服务器端的连接持续有效,当出现对服务器的后续请求时,Keep-Alive功能避免了建立或者重新建立连接
7⃣️.管线化
- 在使用持久连接的情况下,某个连接上消息的传递类似于:
请求1 > 响应1 > 请求2 > 响应2 >请求3 > 响应3 - 某个连接上的消息变成了类似这样:
请求1> 请求2 > 请求3 >响应1> 响应2 > 响应3