HTTP1.0和HTTP1.1的区别
5 分钟阅读
•
481 字
+
643 词
- 首先 http1.1是默认支持持久连接的 ,可以通过 设置Connection字段为 keep-alive来实现 , 减少连接建立和关闭的开销 。而http1.0默认为短连接。
- http1.1是 支持管道化的 ,可以在 请求的响应到达之前发送多个请求 ,可以 减少等待时间 ,但是 在处理方那边还是需要按照请求顺序处理。
- http1.1引入了 比如etag的缓存控制策略 ,直接对 资源进行hash ,可以更加精确的确保资源是否被修改。
参考答案:
-
持久连接
:
HTTP/1.1默认 支持持久连接 ,允许在一个TCP连接上发送多个HTTP请求和响应,减少了连接建立和关闭的开销。而**HTTP/1.0默认为短连接,每次请求都需要建立一个TCP连接**,并通过Connection: keep-alive头来实现持久连接。 -
管道化
:
HTTP/1.1支持管道化 (不是默认开启),允许 客户端在第一个请求的响应到达之前发送多个请求 ,这可以减少等待时间,提高效率。 HTTP/1.0不支持管道化。 -
缓存控制
:
HTTP1.0主要使用If-Modified-Since/Expires来做为缓存判断的标准, 而HTTP1.1则引入了更多的缓存控制策略例如Etag / If-None-Match等更多可供选择的缓存头来控制缓存策略。 -
错误处理:
HTTP/1.1增加了一些新的HTTP状态码,如100 Continue,用于增强错误处理和请求的中间响应。 -
Host头:HTTP/1.1引入了Host头,允许客户端指定请求的主机名,这使得在同一台服务器上托管多个域名成为可能。HTTP/1.0没有这个头字段。 -
带宽优化 :
HTTP1.0中,存在一些浪费带宽的现象,例如客户端 只是需要某个对象的一部分,而服务器却将整个对象送过来了 , 并且不支持断点续传功能 , 而HTTP1.1则在 请求头引入了range头域 ,它允许只请求资源的某个部分,即返回码是206(Partial Content)