码迷,mamicode.com
首页 > Web开发 > 详细

【HTTP】如何正常关闭连接

时间:2017-04-09 23:14:19      阅读:597      评论:0      收藏:0      [点我收藏+]

标签:参考   span   请求   依赖   重试   代理   相同   包含   关闭   

参考:《HTTP权威指南》

 

所有HTTP客户端、服务器或者代理都可以任意时刻关闭一条TCP传输连接。但是服务器永远无法确定它关闭“空闲”连接的那一刻,在线路那一头的客户端有没有数据要发送。

每条HTTP响应都应该有精确的Content-Length首部,用来描述响应主体的尺寸。如果老的HTTP服务器省略了Content-Length或者包含错误的长度指示,这样就要依赖服务器发出连接关闭来说明数据的真实末尾。

 

如果一个事务,不管是执行一次还是很多次,得到的结果都相同,这个事务就是幕等的。GET,HEAD,PUT,DELETE,TRACE,OPTIONS方法都具有幕等性。

POST方法是非幕等的。要发送一条非幕等请求,就需要等待来自前一条请求的响应状态。(客户端不应该以管道方式传送非幂等请求,否则,传输连接的过早终止就会造成一些不确定的后果。)

用户Agent代理可能会让用户来选择是否对请求进行重试,但是一定不能自动重试非幕等方法或序列。大多数浏览器都会重载一个缓存的POST响应时提供一个对话框,询问用户是否希望再次发起事务处理。

 

正常关闭连接

 

1 完全关闭与半关闭

 

2 TCP关闭及重置错误

 

3 正常关闭

【HTTP】如何正常关闭连接

标签:参考   span   请求   依赖   重试   代理   相同   包含   关闭   

原文地址:http://www.cnblogs.com/chengdabelief/p/6686955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!