一、HTTP协议类
1.1 考点
- HTTP协议的主要特点
- HTTP报文的主要特点
- HTTP方法
- POST和GET的区别
- HTTP状态码
- 什么是持久化连接
- 什么是管线化
1.2 HTTP协议的主要特点
- 简单快速
- 每个资源是固定的,所以在HTTP处理中是非常简单的,我想访问一个资源,直接输入一个URI即可
- 灵活
- 在每个HTTP头部分有个数据类型,通过设置这个数据类型,一个HTTP协议就可以传输不同类型的数据
- 无连接
- 无状态
- 客户端和服务端是两种身份,连接断后,第二次连接,服务端是无法分辨再次发送请求的客户端是属于哪一个客户端的
1.3 HTTP报文的主要特点

1.4 HTTP方法

1.5 POST和GET的区别
- GET在浏览器回退时时无害的,而POST会再次提交请求
- GET产生的URL地址可以被收藏,而POST不可以
- GET请求会被浏览器主动缓存,而POST不会,除非手动设置
- GET请求只能进行url编码,而POST支持多种编码格式
- GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
- GET请求在URL中传递的参数是有长度限制的,而POST没有限制
- 对参数的数据类型,GET只接受ASCll字符,而POST没有限制
- GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
- GET参数通过URL传递,POST放在Request body中
1.6 HTTP状态码

1.7 什么是持久化连接
- HTTP 协议采用“请求-应答”模式,当使用普通模式,即非
Keep-Alive
模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接
(HTTP协议为无连接的协议)
- 当使用
Keep-Alive
模式(又称持久连接、连接重用)时,Keep-Alive
功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,
Keep-Alive
功能避免了建立或者重新建立连接
- HTTP1.1版本支持持久化连接,HTTP1.0不支持
1.8 什么是管线化
- 在使用持久连接的情况下,某个连接上消息的传递类似于:
- 请求1 –》 响应1 –》 请求2 –》 响应2 –》 请求3 –》 响应3
- 管线化下,某个连接上的消息变成了类似这样(也是基于持久连接的)
- 原理:将请求一次性打包发给服务端,然后客户端一次返回响应
- 请求1 –》 请求2 –》 请求3 –》 响应1 –》 响应2 –》 响应3

对于本文内容有问题或建议的小伙伴,欢迎在文章底部留言交流讨论。