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

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

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

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

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

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

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

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

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

相关推荐
小当家.1052 分钟前
Token成本控制实战:语义缓存、上下文压缩与工具缓存
java·spring·缓存·token·上下文
聚美智数4 分钟前
SSL证书信息查询-SSL域名解析-SSL证书查询服务-SSL证书解析服务API接口介绍
网络·网络协议·ssl
瓦学妹4 分钟前
美国住宅IP如何选?不同平台配置选择标准与教程指南
网络·网络协议·tcp/ip
乐观勇敢坚强的老彭5 分钟前
C++ STL 常用容器的速查表
java·c++·算法
小小龙学IT9 分钟前
gRPC 开源高性能 RPC 框架深度解析:从 HTTP/2 到跨语言微服务实战
http·rpc·开源
wwwzhouzy9 分钟前
SpringBoot 响应式编程
java·spring boot·后端·响应式编程
Bonnie_121522 分钟前
10-深入理解ConcurrentHashMap(JDK1.8)
java·开发语言
莫得感情 o24 分钟前
设计模式 22 · 三个冷门模式:中介者、访问者、解释器
java·设计模式
evans在进步38 分钟前
LeetCode 74:搜索二维矩阵——Java 虚拟一维数组与二分查找详解
java·leetcode·矩阵
andongni20339 分钟前
Spring Boot基础应用开发与部署
java·spring boot·后端