HTTP1.0和HTTP1.1的区别

持久连接

HTTP/1.1 默认支持持久连接,允许在一个TCP连接上发送多个HTTP请求和响应,减少了连接建立和关闭的开销。

HTTP/1.0 默认为短连接,每次请求都需要建立一个TCP连接,可以通过Connection: keep-alive头来实现持久连接。Connection: keep-alive的作用是告诉服务器和客户端,它们之间的TCP连接应该保持活动状态,以便可以重用,而不是在发送完一个响应后立即关闭。这个特性在HTTP/1.0中引入,并且在HTTP/1.1中成为默认行为。

管道化

HTTP/1.1 支持管道化(不是默认开启),允许客户端在第一个请求的响应到达之前发送多个请求,这可以减少等待时间,提高效率。

HTTP/1.0不支持管道化。

缓存控制

HTTP1.0主要使用If-Modified-Since/Expires来做为缓存判断的标准

HTTP1.1则引入了更多的缓存控制策略例如Etag / If-None-Match等更多可供选择的缓存头来控制缓存策略。

错误处理:

HTTP/1.1 增加了一些新的HTTP状态码,如100 Continue,用于增强错误处理和请求的中间响应。

客户端在收到100 Continue响应后,应该继续发送请求体。如果服务器在接收到包含Expect: 100-continue的请求头后,决定不继续处理请求(例如,如果请求头信息表明请求无法被接受),服务器应该返回一个错误状态码(如400 Bad Request),而不是100 Continue。

Host 头:

HTTP/1.1 引入了Host头,允许客户端指定请求的主机名,这使得在同一台服务器上托管多个域名成为可能。每个域名都可以映射到服务器上的不同资源或服务.HTTP/1.0没有这个头字段。

带宽优化 :

HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能, 而HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content)

相关推荐

  1. http https 区别

    2024-07-12 05:54:02       44 阅读
  2. HTTPHTTPS区别

    2024-07-12 05:54:02       36 阅读
  3. httphttps区别

    2024-07-12 05:54:02       36 阅读
  4. HTTPHTTPS区别

    2024-07-12 05:54:02       32 阅读
  5. httphttps区别

    2024-07-12 05:54:02       27 阅读
  6. httphttps区别

    2024-07-12 05:54:02       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 05:54:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 05:54:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 05:54:02       58 阅读
  4. Python语言-面向对象

    2024-07-12 05:54:02       69 阅读

热门阅读

  1. 5 Better ways to code in Rust

    2024-07-12 05:54:02       22 阅读
  2. SVN 标签的使用与优势

    2024-07-12 05:54:02       24 阅读
  3. 白骑士的C++教学进阶篇 2.3 模板

    2024-07-12 05:54:02       29 阅读
  4. python常用命令

    2024-07-12 05:54:02       22 阅读
  5. 微信小程序中的数据通信

    2024-07-12 05:54:02       27 阅读