最后更新:2021-10-21 13:00:25 手机定位技术交流文章
短连接
其基本数据传输以TCP/IP为基础,TCP/IP在发送每项请求之前需要与服务器连接,在收到回复后将迅速关闭。
短路连接有很大的缺点,因为根据TCP协议,连接的形成和关闭是高度“昂贵”的活动。 TCP连接由三节握手创建,传输三个数据包,需要一台RRT;终止连接是“四波”;四个数据包需要两个RRT。
长连接
针对短连接所突出显示的缺陷,HTTP协议包括一种“长连接”通信方法,也称为“永久连接 ” 、 “ 保持生命” 和“连接再利用 ” 。 解决方案同样直截了当,依赖于“费用分担”的概念。因为TCP连接和关闭需要很长的时间,
如上图所示,它也是三项请求答复,使用长线连接带来了相当大的效率效益,只关闭了一次,但短线连接关闭了三次。
连接相关的头字段
在 HTTP/ 1. 默认情况下, 1 中的所有连接都将启用。 不需要特殊信头字段, 每当第一个请求发送到服务器时, 其后的请求会重复第一个打开的 TCP 连接, 即长链路, 接收并发送连接上的数据。 当然, 我们可以明确请求应请求使用长链路机制, 使用连接域, 其值是“ 保持动态” 。 但是, 如果服务器支持长链路, 无论客户是否需要显示, 它总是在响应信息中设置一个“ 连接: 保持连接” 字段, 告诉客户“ 我支持长链路, 然后使用这个 TCP 继续接收并发送数据 ”。
队头阻塞
“团队阻塞”是由HTTP的基本“请求-回应”范式产生的,不是通过短或长的联系产生的。
由于 HTTP 要求信息“ 收到并接收”, 创建了先到先得的“ 字符串” 队列。 最优先的是对名单首端的请求。 如果组长的请求因处理缓慢而延迟, 排队后的所有请求都必须一起等待, 从而导致其他请求花费过多的时间 。
队头阻塞的解决办法
“后继连接”,即,与域名的多个长长连接,以克服量化质量问题。
但这一方法也存在缺陷。 如果每个客户都想快速建立许多连接,那么用户数乘以分布数量将是一个天文数字。 服务器的资源根本无法维持,或被服务器视为恶意攻击,从而导致“拒绝提供服务”。 因此,HTTP协议建议客户同时使用和发送,而不是同时“滥用”。 RFC 2616显然限于每个客户最多2个连接。 然而,这个数字被证明太小,许多浏览器“忽略了”标准,将上限提高到6-8。 RFC 7230(后来修订后)也被“操纵”并取消了这一“2”限制。
这导致开发了“域隔”技术或质量量化方法。 HTTP 协议和浏览器不限制连接量吗? 好吧, 我将打开更多域名, 如 sard1. I'm sorry, chrono.
本文由 在线网速测试 整理编辑,转载请注明出处。