socket客戶端怎么判斷http響應(yīng)數(shù)據(jù)的結(jié)束
前言
原文地址:https://blog.csdn.net/nimasike/article/details/81122784
http連接
短連接
定義:http頭不包含Connection: Keep-Alive
socket讀取數(shù)據(jù)值返回-1者標(biāo)記為結(jié)束
長連接
定義:http頭包含Connection: Keep-Alive
http協(xié)議結(jié)構(gòu)
頭
頭結(jié)束符定義:包含這"\r\n\r\n" 四個字節(jié)是指頭結(jié)束
如果頭數(shù)據(jù)里包含Content-Length: x 就讀取x字節(jié)數(shù)據(jù),知道http響應(yīng)數(shù)據(jù)的長度為x
如果頭數(shù)據(jù)里不包含Content-Length: x 類型為Transfer-Encoding: chunked 說明響應(yīng)數(shù)據(jù)的長度不固定,結(jié)束符已"\r\n0\r\n"這5個字節(jié)為結(jié)束符
body
http協(xié)議數(shù)據(jù)響應(yīng)的內(nèi)容
流程圖

wireshark抓包解析



浙公網(wǎng)安備 33010602011771號