Socket通信判断数据是否发送完毕

http连接
  短连接
    定义:http头不包含Connection: Keep-Alive
    socket读取数据值返回-1者标记为结束

  长连接
    定义:http头包含Connection: Keep-Alive

http协议结构
  头
    头结束符定义:包含这"\r\n\r\n" 四个字节是指头结束
    如果头数据里包含Content-Length: x 就读取x字节数据,知道http响应数据的长度为x
    如果头数据里不包含Content-Length: x 类型为Transfer-Encoding: chunked 说明响应数据的长度不固定,结束符已"\r\n0\r\n"这5个字节为结束符

  body
    http协议数据响应的内容

 流程图

wireshark抓包解析

 

展开阅读全文