• 【HTTP】如何正常关闭连接


    参考:《HTTP权威指南》

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

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

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

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

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

    正常关闭连接

    1 完全关闭与半关闭

    2 TCP关闭及重置错误

    3 正常关闭

  • 相关阅读:
    冷门Javascript API——element.insertAdjacentHTML
    一些CKEditor定制问题
    HTML中的base标签
    深入Require.js
    狂神说SpringMVC笔记
    GeoServer之Dispatcher类(Controller控制器)
    java之ThreadLocal<>线程
    java获取当前路径&文件读写
    GeoServer服务扩展
    Spring之getBeanNamesForType
  • 原文地址:https://www.cnblogs.com/chengdabelief/p/6686955.html
Copyright © 2020-2023  润新知