socket客户端怎么判断http响应数据的结束

前言

    原文地址:https://blog.csdn.net/nimasike/article/details/81122784

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抓包解析

 

 

posted @ 2018-09-27 11:18  放在垃圾桶里  阅读(5394)  评论(0编辑  收藏  举报