HTTP 1.0 与 HTTP 1.1:差异与比较

如果您使用互联网,您可能遇到过 HTTP 或 HTTPS 一词。这也是浏览次数最多的信件,特别是考虑到目前活跃的数十亿个网站。

HTTP 或超文本传输​​协议是缩写词。 它既充当客户端协议又充当服务器协议,定义了如何通过互联网发送和构造消息。

关键精华

  1. HTTP 1.0 只允许每个连接一个请求,而 HTTP 1.1 允许多个请求。
  2. HTTP 1.1 支持持久连接,允许更快的网站加载,而 HTTP 1.0 则不支持。
  3. HTTP 1.1 比 HTTP 1.0 具有更高效的标头压缩,从而减少了带宽使用。

HTTP 1.0 与 HTTP 1.1

HTTP 1.0 是 HTTP 协议的第一个版本,于 1996 年推出。它是一种简单、无状态的协议,在请求-响应的基础上运行。 HTTP 1.1 是 HTTP 协议中使用最广泛的版本,于 1999 年推出。它是 HTTP 1.0 的改进版本,引入了多项新功能,包括对持久连接、缓存、管道和分块传输编码的支持。

HTTP 1.0 与 HTTP 1.1

1996 年,HTTP/1.0 被正式引入并得到认可。 从那时起,它的受欢迎程度飙升。

HTTPv1.0仅提供基本的身份验证(挑战-响应控制); 这种技术的一个关键问题是用户名和密码没有加密,这使得它们很容易受到监视并且没有时间限制。

只有 16 个状态代码。

HTTP 1.1 还提供持久连接,这意味着可以通过同一个 HTTP 连接发送许多响应和请求。

OPTIONS 方法是 HTTP/1.1 中的新方法。 HTTP 客户端可以很容易地使用此技术来发现 HTTP 服务器的功能。 它主要用于 Web 应用程序中以实现跨源资源共享。

对比表

比较参数HTTP 1.0HTTP 1.1
状态码可以定义16个状态码; 但是,错误弹出窗口不够精确。通过指定 24 个状态代码的能力,错误报告更快、更有效。
认证机制因为密码和用户名也是以明文或 base64 编码发送的,所以基本的身份验证机制是不​​安全的。因为它利用摘要认证和NTLM认证,所以相对安全。
高速缓存If-Modified-Since 标头用于辅助缓存。使用一些额外的标头,如缓存控制。
性能优化支持缓存以更快地提供更多页面。许多优化被用作“每个主机六个连接”要求的变通方法,包括 spriting、连接、内联和域分片。
主要特性每个 TCP 连接只有一个请求和应答。它支持连接重用,这意味着可以为每个 TCP 连接发送和接收许多请求和应答。

什么是 HTTP 1.0?

HTTPv1.0 仅提供基本的身份验证(挑战-响应控制); 这种技术的一个关键问题是用户名和密码没有加密,容易受到监视,而且没有时间限制。

另请参阅:  Verilog 与 VHDL:差异与比较

任何通过刺探获得的信息,在获得之后都可以长期使用。 客户应该计算一个 校验 密码、用户名和一次性值,包括 HTTP 请求类型和有效响应所请求的 URI。

因为HTTP1.0 的本意是为每个请求使用一个新的TCP 连接,所以每次请求都必须支付建立一个新的TCP 连接的费用。

因为大多数 Internet 交易都很短暂,而且很少会超过慢启动阶段,所以它们没有充分利用可用带宽。

尽管某些版本 1.0 实现使用“keep-alive”标头来要求链接保持活动状态,但这对于中间代理来说效果不佳。

服务器必须仍然按照与给定连接的匹配请求相同的顺序提供答复。 客户端在通过同一连接(流水线)提交另一个请求之前不必等待对其先前请求的响应。

它减少了网络往返延迟,同时还优化了 TCP 协议的功能。

什么是 HTTP 1.1?

通过引入永久连接和流水线,它解决了这个问题。 HTTP/1.1 意味着 TCP 连接应保持活动状态,除非在使用持久连接时明确请求断开连接。

它允许客户端通过同一连接提交多个请求,而不必等待每个请求都得到答复,从而显着提高了 HTTP/1.1 相对于 HTTP/1.0 的性能。

不幸的是,这种优化技术有一个固有的瓶颈。

因为几个数据包在途中无法相互传递。 有时,队列前面的请求无法获取其所需的资源,导致其后面的所有请求都被阻塞。

另请参阅:  Cloudways vs WP Engine:差异与比较

这被称为 HOL 队头阻塞,这是提高 HTTP/1.1 连接性能的主要问题。

单独的、并行的 TCP 连接可能会解决问题,但是,客户端和服务器之间的并发 TCP 连接数是有限的,每个新连接都会消耗大量资源。

HTTP/1.1 中的流量控制是基于 TCP 的。 建立 TCP 后,服务器和客户端都使用其系统默认设置来确定缓冲区大小。

如果接收方的缓冲区部分满,它将通知发送方接收方的接收窗口或其缓冲区中的可用空间量。

HTTP 1.0 和 HTTP 1.1 之间的主要区别

  1. HTTP1.0主要用在header中,但是HTTP1.1用来引入更复杂的 缓存 管理办法。
  2. HTTP1.0 中有一些带宽浪费,但 HTTP 1.1 中带宽浪费较少。
  3. HTTP1.1请求和响应消息都支持Host头字段,虽然HTTP1.0认为每个服务器都应该绑定一个不同的IP地址。
  4. 在 HTTP1.0 中,每个 TCP 连接只有一个请求和应答,而 HTTP 1.1 允许连接重用。
  5. Spriting、连接、内联和域分片是 HTTP 1.1 中使用的一些优化,而 HTTP 1.0 支持缓存以更快地为网站提供服务。
参考资料
  1. https://ieeexplore.ieee.org/abstract/document/1243114/
  2. http://journals.uic.edu/ojs/index.php/fm/article/view/2125

最后更新:16 年 2023 月 XNUMX 日

点1
一个请求?

我付出了很多努力来写这篇博文,为您提供价值。 如果您考虑在社交媒体上或与您的朋友/家人分享,这对我很有帮助。 分享是♥️

关于“HTTP 10 与 HTTP 1.0:差异与比较”的 1.1 个想法

  1. HTTP 1.1 引入的 OPTIONS 方法是一个值得注意的补充,它允许客户端发现服务器功能,特别有利于 Web 应用程序中的跨域资源共享。

    回复
  2. HTTP 1.1 的详细解释解决了以前版本的挑战,例如避免为每个请求建立新的 TCP 连接的费用,展示了该协议的进步。

    回复

发表评论

想保存这篇文章以备后用? 点击右下角的心形收藏到你自己的文章箱!