非Keep-Alive: 早起HTTP1.0, 浏览器发起http请求需要与服务器建立新的TCP连接,请求处理后连接立即关闭。
缺点:每个这样的连接,客户端与服务器都要分配TCP的缓冲区和变量,这给服务器带来严重的负担。
Keep-Alive: 默认持久连接;同一客户端可以连续请求通过相同的连接进行传送,一台服务器多个Web页面也可通过单个TCP连接传送给同一个客户端。
缺点:长时间保持TCP连接会导致系统资源被无效占用。所以,注意设置合理的keep-alive_timeout参数。
http的长连接和短连接?通过keep-alive 设置?
其实长连接和短连接是TCP传输层协议的概念,而不是http应用层协议的。
keep-alive 可以影响到TCP是长连接还是短连接;
短连接:非keep-alive
长连接:客户端、服务器同事设置keep-alive 。
长连接:多用于操作频繁, 点对点的通信, 而且客户端连接数目较少的情况下。eg:即使通讯、网络游戏等。
短连接: 用户数目较多的Web网站的Http服务一般用短连接。eg:京东,淘宝这样的大型网站,一般客户达到千万级甚至上亿, 若采用长连接势必会使得服务端大量的资源被无效占用,所以,一般使用的是短连接。
参考http中长/短连接讲解: https://blog.csdn.net/luzhensmart/article/details/87186401
公众号:`技术小难`
[简书](https://www.jianshu.com/u/1851ec413025)
[博客园](https://account.cnblogs.com/blog-apply) 链接需要替换
[CSDN](https://blog.csdn.net/u012496940?spm=1000.2115.3001.5343)
[知乎](https://www.zhihu.com/people/gu-han-90-61)
[掘金](https://juejin.cn/user/1943592286824333)
[segmentfault](https://segmentfault.com/u/natqeeak/articles)
本文由 mdnice 多平台发布