超文本传输协议(HTTP)是一种应用程序级协议,使用TCP作为底层传输,通常在端口80上运行。HTTP是一种无状态协议,即服务器不维护有关过去客户端请求的信息。
HTTP连接
- 非持久性
- 持久的
在开始使用持久性和非持久性HTTP连接之前,让我们知道什么是RTT。
RTT ->是时候让一个小数据包从客户机到服务器再到服务器。
RTT= 2*propagation time
1.对于持久或非持久连接,确保使用一个RTT来启动TCP连接。 2.一个RTT用于HTTP请求,并返回HTTP响应的前几个字节。
因此,为了了解文件传输的总时间->
total = 2RTT+transmit time
持久连接和非持久连接之间的区别。
非持久连接
- 无并联
- 并联
无并行连接非持久性 每个异议需要两个RTT(假设没有窗口限制),一个用于TCP连接,另一个用于HTTP图像/文本文件。
具有并行连接的非持久性
持久连接
- 非流水线
- 管道
在里面 非管道连接 我们首先建立连接,需要两个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主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。