HTTP为什么是无连接的协议

本文探讨了HTTP协议为何设计为无连接特性及其优势,并解释了TCP面向连接的工作原理。进一步对比了UDP协议的特点,说明了不同协议选择背后的考虑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP的面向连接是传输层的,而HTTP的无连接则是应用层的 。HTTP协议产生于互联网,因此服务器需要处理同时面向全世界数十万、上百万客户端的网页访问,但每个客户端(即浏览器)与服务器之间交换数据的间歇性较大(即传输具有突发性、瞬时性),并且网页浏览的联想性、发散性导致两次传送的数据关联性很低,如果按照上面的方式,则需要在服务器端开的进程和句柄数目都是不可接受的,大部分通道实际上会很空闲、无端占用资源。因此HTTP的设计者有意利用这种特点将协议设计为请求时建连接、请求完释放连接,以尽快将资源释放出来服务其他客户端。HTTP1.1现在设计为长连接,就是在一个连接内可以发生多个请求,避免了多次建立断开连接造成的消耗。
UDP尽管不象TCP那样占用资源,但它不保证数据的完整性、有序性,想像如果服务器返回的HTML错序了或者丢失一部分你将看到什么效果;并且UDP没有流量控制,而互联网的传输质量又不是很好,服务器随便仍出一大堆UDP包可能导致网络风暴,这是相当危险的。

归根结底,TCP的面向连接是传输层的,而HTTP的无连接则是应用层的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值