最后更新:2021-10-29 03:33:00 手机定位技术交流文章
HTTP长链路和短链路基本上是TCP长链路和短链路。HTTP是一个应用层协议,在传输层和网络层使用TCP协议和IP协议。IP协议主要涉及网络路线和位置问题,但TCP协议处理在IP层以上可靠传输数据包的问题,使网络接收端能够接收发件人发送的所有软件包并遵循发送顺序。
HTTP协议是无效的,这意味着协议没有交易管理的内存能力,服务器不知道客户是谁。 也就是说,在服务器上打开网页与先前在服务器上打开网页之间没有联系。 HTTP是一个未注明的、连接的协议,并不意味着HTTP无法保留TCCP连接,更不用说HTTP使用了UDP协议(没有连接)。
HTTP/ 1.0 默认使用简短连接。 这意味着客户端和服务器每次使用 HTTP时, 都会进行连接, 任务结束时连接就会终止。 当客户浏览器看到 HTML 或其他类型的网页包含额外的网络资源( 如 JavaScript、 图像和 CSS 文件, 例如.) 时, 浏览器会话会话会设置新的 HTTP 会话 。
在一种情况下,默认使用长的连接来保留连接属性。在使用长期连接的 HTTP 协议时,在回复中加入以下行代码:
当一个网页打开时,用于在客户与服务器之间发送 HTTP 数据的TCP 连接没有关闭,客户在再次查看服务器时将继续使用已建立的连接。 Keep- Alive 不永久保留连接; 它有一段时间要维持, 可以在不同的服务器软件中更改( 例如, gkeepweb 页面是打开的, 用于在客户与服务器之间发送 HTTP 数据的TCP 连接不是关闭的, 客户在再次查看服务器时将继续使用已建立的连接。 保存- ALive 不永久保留连接; 它有一段时间要维持, 可以设置在不同的服务器软件中( 例如, 长期连接需要客户与服务支持它) 。
HTTP协议的长线和短线联系基本上是TCP协议的长线和短线联系。
当TCP协议用于网络通信时,在真正的读写活动之前,客户和服务器之间必须进行连接,当双方在读写操作完成后不再需要连接时,这种连接可能被释放。连接的构造取决于“三个握手”和释放需要“四个握手”,因此每个连接都是在资源消耗中构建的,时间动作CP协议用于网络通信,在真正的读写活动之前,客户和服务器之间必须进行连接,当双方在读写操作完成后不再需要连接时,这种连接可以释放。连接的建立取决于“三个握手”和释放需要“四个握手”,因此每个连接都是在资源消耗和时间中构建的。
为了绘制关系图,使用常规的三手摇篮:
传统四手握断开连接图:

短连接的运行阶段如下:
创建连接 - 数据传输 - 数据传输 - 密切连接 - 创建连接 - 数据传输 - 密切连接 - 创建连接 - 数据传输 - 密切连接
长期连接的运行阶段如下:
建立连接 - 传输数据.. (保持连接) 传输数据 - 关闭连接
概念
该链接通过Clit和服务器之间的握手而形成三次,一个链接在Clit提交请求电文和服务器回复时完成。
在这一点上,双方都可以自由地开始近距离作业,尽管通常由公司发起近距离作业。 如上所述,短距离连接通常会让阴蒂/服务器之间的请求操作只发出一次。
管理起来相当容易,现有的联系是有益的,不需要额外的控制。
使用场景
浏览器经常使用简短的连接连接到服务器 。
长期连接利用了服务资源,用户在服务结束之前的准入比例并不特别高。
如果有数十万或数以百万计的连接,服务端的负荷就会严重到崩溃。
因此,建议为请求数量大但频率低的人提供较短的连接。
客户端启动与服务器的连接, 服务器接受连接, 并在当事人之间建立连接 。
在完成读写作业后,客户与服务器之间的连接不会自动终止,未来的读写操作将继续使用该连接。
当TCP长线连接形成时,它通常存在,只要没有关闭请求,也没有异常。
操作系统不自动关闭,即使在物理网络发生变化后,仍继续运作。
因此,只要没有异常或用户(应用水平)自由关闭,连接可以维持数天、数月、数年或更长的时间。
客户和服务单总是能够利用交换数据的连接。
较长的连接可节省更多的TCP创建和封闭的流程,同时减轻网络干扰的影响。
发生错误时,可以发送提示而不终止连接。
降低CPU和内存的利用率,因为不需要定期创建和关闭连接。
当连接量高时,服务端的性能和共同生产的数量就会受到影响。
使用场景
数据库连接是一个长长的 TCP 连接 。
RPC代表远程服务电话。在服务器上,一个服务程序经常呼叫另一个服务程序,允许使用长长的连接,缩短连接时间。
第一,长线和短线的利用必须与申请情况权衡。
两长连接并非不可战胜,必须保持良好状态。
大多数应用级别协议都使用心比机制,客户向服务器发送数据包,经常提醒服务器仍然在线。
使用心跳包的共同协议是IMM,例如/MSN/Findiness。
在TCP机制中有一个有心跳的机制,这就是TCP的选择:SO_EPALive。
系统默认为两小时心跳频率。 然而,它无法调查断电、笨拙的电线和防火墙。
逻辑层可能不如被损坏的电线那么好。 一般来说,它只适合生活使用。
由于网络的不稳定性,由于网络的不便、能源突然丧失等情况,可以延长TCP的连接时间。
这将打破服务器和客户之间的联系。 在这种情况下,如果服务器和客户之间没有联系,他们将无法及时找到对方。
这些问题可以通过心率方法加以解决。
默认情况下, KaveAlive 状态将被关闭 。
要启用“ 保持生命状态”, 我们必须在 SOL_ SOCKET 上设置 Setsockopt。 So_ eepalive to 1.
您也可以指定三个参数:
tcp_keepalive_time ,tcp_keepalive_probes , tcp_keepalive_intvl,
每条都具体说明连接在发送保存天线包之前闲置了多久,发送几个包需要多长时间,当对方断开时没有回复它们,以及两个包之间的间隔中断了多久。
由于硬件限制(如内存),许多网络装置,特别是NAT路由器无法保持所有连接,因此,必要时会启动连接池中某些不活动连接(模拟、CPU处理能力)。
最常见的方法是LRU,它与T联系的时间最长,没有数据。
连接每分钟可产生一些包,以降低使用TCP的 " 保持生命 " 机制(时间参数的修改)被扔出的危险,其代价是网络和CPU需求增加。
实现心跳机制:
利用tCP协议的保存功能。
在申请层面,一个自我定义的心跳机制。
虽然它为在TCP协议一级保持活力提供了一种手段,但在通过该协议方面有一些缺点:
这不是一个TCP标准协议, 它总是关闭。
TCP的保存方法取决于操作系统的实施,默认的异性心脏跳动时间为两小时,系统要求的调整(或系统配置的调整)不够灵活。
由于TCP的保存与TCP挂钩,如果必须用一项联合民主党协定取代TCP,它就会失败。
与自定义的应用级别心率方法相比,在TCP一级使用保持机制可以节省带宽。
本文由 在线网速测试 整理编辑,转载请注明出处。