HTTP非持久性和持久性连接|集1

超文本传输协议(HTTP)是一种应用程序级协议,使用TCP作为底层传输,通常在端口80上运行。HTTP是一种无状态协议,即服务器不维护有关过去客户端请求的信息。

null

HTTP连接

  1. 非持久性
  2. 持久的

在开始使用持久性和非持久性HTTP连接之前,让我们知道什么是RTT。

RTT ->是时候让一个小数据包从客户机到服务器再到服务器。

RTT= 2*propagation time

1.对于持久或非持久连接,确保使用一个RTT来启动TCP连接。 2.一个RTT用于HTTP请求,并返回HTTP响应的前几个字节。

因此,为了了解文件传输的总时间->

 total = 2RTT+transmit time

持久连接和非持久连接之间的区别。 图片[1]-HTTP非持久性和持久性连接|集1-yiteyi-C++库

非持久连接

  1. 无并联
  2. 并联

无并行连接非持久性 每个异议需要两个RTT(假设没有窗口限制),一个用于TCP连接,另一个用于HTTP图像/文本文件。

具有并行连接的非持久性 图片[2]-HTTP非持久性和持久性连接|集1-yiteyi-C++库

持久连接

  1. 非流水线
  2. 管道

图片[3]-HTTP非持久性和持久性连接|集1-yiteyi-C++库

在里面 非管道连接 我们首先建立连接,需要两个RTT,然后发送所有对象的图像/文本文件,每个对象需要1个RTT(每个对象不需要TCP)。

在里面 管道连接 2RTT用于建立连接,然后1RTT(假设没有窗口限制)用于所有对象,即图像/文本。

持久连接的优点: 1) 由于连接数较少,因此CPU和内存使用率较低。 2) 允许请求和响应的HTTP管道。 3) 减少网络拥塞(减少TCP连接)。 4) 减少后续请求的延迟(无握手)。 5) 可以报告错误,而无需关闭TCP连接。

持久连接的缺点: 资源可能会被占用,即使在不需要的时候,也可能不会提供给其他人。

大多数现代浏览器,如Chrome、Firefox和Internet Explorer,都使用持久连接。

参考: https://en.wikipedia.org/wiki/HTTP_persistent_connection

本文由 肖亚·乌帕尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享