美文网首页
keep-alive

keep-alive

作者: 小幸运Q | 来源:发表于2021-04-30 22:46 被阅读0次

    TCP中的keep-alive:

    为了避免对方网络程序意外下线或者断网断电,TCP会在间隔一段时间后发送数据给对方。(心跳检测机制)

    对方可达:

    1. 程序正常运行,返回ACK,无恙
    2. 如果对方程序异常退出,返回RST
    3. 如果对方程序正常退出,返回FIN

    对方可能不可达

    1. 不响应ack、rst,继续发送到超时,则撤销连接。

    HTTP的keep-alive

    复用之前的TCP连接,HTTP1.1之后都默认开启。

    • 如何知道数据接收完了?

    如果没有开启keep-alive,关闭连接的时候会返回EOF(-1)给客户端。

    如果开启了keep-alive,那么
    方法1:静态数据,根据Content-Length字段计算长度。
    方法2:动态数据(Transfer-Encoding: chunk)数据传输结束的时候,最后一个chunk长度是0。

    相关文章

      网友评论

          本文标题:keep-alive

          本文链接:https://www.haomeiwen.com/subject/cauorltx.html