什么是长连接,什么是短连接?长连接和短连接的区别是什么?
说到长连接,短连接,不得不提到三次握手。
举个例子,如下场景:
http://blog.csdn.net/sinat_21455985/article/details/53508115 三次握手(连接)和four次挥手(断开)的总结: 1tcp协议是pc机器与pc机器之间的进行的工作,即机器中网卡,这一步跟tomcat等j2ee的web工程一点关系都没有。其实很好理解,因为tcp协议的配置是在pc的网络管理里进行设置和选择的。 2tcp协议的三次握手,一定在http url请求真正开始之前,即http://127.0.0.1:8080/testProject这个地址被tomcat服务器响应之前,先进行tcp协议的三次握手。即三次握手时,http url请求还没发起,只是获取到了服务器pc机器的ip地址。 这里就有问题,http url是:①先到的tomcat,然后由tomcat摘出ip地址和port端口号去跟pc机器的网卡通信,建立tcp连接(短连接或者是长连接),还是②http url直接被pc机器的网卡摘出ip地址和port端口号建立tcp连接? 答案: 第二种情况,跟tomcat根本没什么关系。 |
2在知道了三次握手之后,再回过头来看长连接和短连接
推荐文章:
http://www.jianshu.com/p/caeec6bd1d3f
长连接和短连接就很清楚了。
所以长连接,短连接,用哪一种,主要是针对服务来言的。
如果客户端连接数较多,长连接会一直占用着这个tcp连接不放,对服务器压力比较大,一共使用短连接,如一般的网站。
如果是那种两台机器的通讯,长连接就比较合适。
但是我看现在的浏览器发起的http请求都是长连接啊,理论上该用短连接才对:
解释如下:
http://www.mamicode.com/info-detail-1279085.html
也就是说,浏览器端发起的http url请求中,header中是http 1.1并且connection属性是keep-alive,则发起的就是一个tcp长连接(而不是http的长连接,跟http没有任何关系),则这就是建立一个长连接,服务器端pc机器不需要进行任何操作,更跟tomcat没有什么关系。
3http 请求和socket请求的区别。以及http和socket之长连接和短连接的区别。
分类:
J2EE-servlet
, 网络通信
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)