计网5:HTTP/TCP的长连接和短连接的区别以及各自的应用场景

HTTP中长连接和短连接的区别以及各自的应用场景

HTTP的长连接就是在一条TCP连接上进行多次HTTP请求的处理,直到客户端/服务端主动断开连接。

短链接就是一次HTTP请求就建立一次TCP连接。

它们的区别就是,在资源占用发面,首先长连接会持续占用客户端和服务端的TCP资源(譬如内存、文件描述符之类的),但是它只需要TCP的三次握手和四次挥手,所以减少了创立和断开连接的开销。

短链接的话就不会持续占用资源,但是每次创立和断开连接就需要开销。

其次就是协议方面的区别,HTTP/1.1及之后是默认长连接的,HTTP/1.0的话则是默认短连接的,需要我们通过keep-alive字段去额外开启长连接。

对于它们各自的应用场景,长连接的话适用于那种高并发的场景。譬如用户在淘宝之类的购物软件,他可能频繁的切换页面,主页,商品详情页啥的,切换的不同商品。那我们构建长连接就可以提高页面加载的效率。除此之外还比较适合那种需要持续通信的场景,譬如用户和客户的沟通。

短连接的话适用于那种访问频率比较低,并发比较小的场景,譬如我们某个系统分为用户端和管理员端。或者爬虫啊,为了避免被识别到,用短连接可能会更好。

相关推荐
枫叶落雨2221 天前
ShardingSphere 介绍
java
花花鱼1 天前
Spring Security 与 Spring MVC
java·spring·mvc
言慢行善1 天前
sqlserver模糊查询问题
java·数据库·sqlserver
专吃海绵宝宝菠萝屋的派大星1 天前
使用Dify对接自己开发的mcp
java·服务器·前端
大数据新鸟1 天前
操作系统之虚拟内存
java·服务器·网络
Tong Z1 天前
常见的限流算法和实现原理
java·开发语言
凭君语未可1 天前
Java 中的实现类是什么
java·开发语言
He少年1 天前
【基础知识、Skill、Rules和MCP案例介绍】
java·前端·python
克里斯蒂亚诺更新1 天前
myeclipse的pojie
java·ide·myeclipse
迷藏4941 天前
**eBPF实战进阶:从零构建网络流量监控与过滤系统**在现代云原生架构中,**网络可观测性**和**安全隔离**已成为
java·网络·python·云原生·架构