http长连接
来源:互联网 发布:淘宝新店没生意怎么办 编辑:程序博客网 时间:2024/05/14 01:29
1、http/tcp/ip
http协议:应用层协议
tcp协议:传输层协议,主要解决在ip层之上进行可靠的传递数据包的问题。tcp有可靠面向连接的特点。
ip协议:网络层协议,主要解决网络路由和寻址问题。
2、http长短连接
http长短连接的本质是tcp的长短链接。http/1.0默认使用的是短连接。http/1.1起,默认使用长连接。使用长连接的http协议,会在响应头加入代码:Connection:keep-alive。使用长连接的情况下,客户端和服务端之间传输http数据的tcp连接不会关闭,客户端多次访问服务器网页时,会使用同一条tcp连接。Keep-Alive不会永久保持连接,有一个保持时间,可以在服务端进行设置。实现长连接需要客户端和服务端都支持长连接。
3、http无状态和长连接的关系
两者之间没有关系,无状态不代表http不能保持tcp连接。http是无状态面向连接的应用层协议。
4、tcp的3次握手
tcp通过3次握手建立连接。第三次握手存在的意义是什么?当客户端第一次发送给服务端的请求存在滞延时,客户端会以为服务端没收到请求消息,会再次发送请求,而此时服务端已经收到前一次请求,并会返回确认信息,但客户端认为没有发送该请求,会忽略掉,但服务端会一直等待客户端的响应,会出现半连接的问题。为了规避这个问题,就引入了第三次握手。
5、tcp的4次握手
tcp使用4次握手来断开tcp连接。当客户端向服务端发送FIN时,可以关闭客户端到服务端的连接,服务端并对消息进行确认。同理,服务端向客户端发送FIN时,可以关闭服务端到客户端的连接,客户端对消息进行确认。总共四次握手。
6、iis对长连接的支持
iis默认开启长连接。关闭需要取消“保持HTTP连接”。取消后,响应头会带上代码:Connection: close。
使用iis时,开启“保持http连接”,但是在响应头中并不会出现代码:Connection:keep-alive。要想在响应头中出现该代码,需要给Connection随便改个名称才可以。
- Comet: HTTP长连接
- HTTP实现长连接
- jetty HTTP长连接
- Http 长连接
- HTTP长连接
- HTTP长连接
- HTTP实现长连接
- HTTP长连接
- HTTP长连接小议
- HTTP长连接
- HTTP长连接
- 关于HTTP长连接
- 关于HTTP长连接
- HTTP长连接
- Comet:HTTP长连接
- HTTP长连接
- Http-长连接
- HTTP长连接
- icheck插件给checkbox添加自定义效果
- Android studio JNI开发
- 整数因子分解问题
- 输入输出系统--概述
- Android 性能数据采集(概要)
- http长连接
- 寒假复苏计划???
- 407. Trapping Rain Water II
- hdu-2075 A|B? (水题)
- CSS解决图片缩小不变形实例
- 微博个人中心标题栏的切换
- 自己一人如何去做一个web项目
- 汇编代码存档
- 我有罪我用了1下午时间终于无师自学用C#开发了俺的领先个Android 浏览器APP我对不起java 社区