• http keep-alive 解释


    1、概念

    keep-alive示例:

     

    keep-alive模式(又称持久连接、连接重用)时,keep-alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,keep-alive功能避免了建立或者重新建立连接。

    http 1.0中默认是关闭的,需要在http头加入"Connection: keep-alive",才能启用keep-alive;http 1.1中默认启用keep-alive,如果加入"Connection: close ",才关闭。目前大部分浏览器都是用http1.1协议,也就是说默认都会发起keep-alive的连接请求了,所以是否能完成一个完整的keep-alive连接就看服务器设置情况。

    2、如何确定连接中断

    说明:

    在Http 1.0及之前版本中,content-length字段可有可无。
    在http1.1及之后版本。如果是keep alive,则content-length和chunk必然是二选一。若是非keep alive,则和http1.0一样。content-length可有可无。有了Transfer-Encoding,则不能有Content-Length

    (1)Content-Length

    Content-Length表示实体内容的长度。浏览器通过这个字段来判断当前请求的数据是否已经全部接收
    所以,当浏览器请求的是一个静态资源时,即服务器能明确知道返回内容的长度时,可以设置Content-Length来控制请求的结束。但当服务器并不知道请求结果的长度时,如一个动态的页面或者数据,Content-Length就无法解决上面的问题,这个时候就需要用到Transfer-Encoding字段。

    (2)Transfer-Encoding

    chunk编码将数据分成一块一块的发生。Chunked编码将使用若干个Chunk串连而成,由一个标明长度为0的chunk标示结束

  • 相关阅读:
    PIP 全局换源
    专利检索常用的十八个网站
    【PHP】PHPMailer 中文使用说明小结
    去你的,奋斗逼,别把加班文化带到微软来
    Maven、spring Boot 与 Spring Cloud
    vue指令总结
    c++多个源文件共用一个new动态分配类对象(extern 及new的用法)
    git版本控制软件
    Axios 禁用缓存
    怎么写,简历才不会被丢到非洲
  • 原文地址:https://www.cnblogs.com/mengfangui/p/9577758.html
Copyright © 2020-2023  润新知