多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > php開源 > php教程 > 判斷Keep-Alive模式的HTTP請求的結束

判斷Keep-Alive模式的HTTP請求的結束

來源:程序員人生   發(fā)布時間:2013-11-01 01:10:10 閱讀次數(shù):3790次

在使用短連接方式時,每個HTTP請求對應一個TCP連接,請求完成后連接立即斷開,服務器返回EOF。所以根據(jù)EOF就可判斷一次請求的結束,下面的代碼(PHP)很常見:

Copy to ClipboardLiehuo.Net Codes引用的內容:[www.veryhuo.com]
// $fp是由fsockopen()產生的句柄
while(!feof($fp)) {
echo fgets($fp);
}

(注:短連接模式是在頭部用”Connection: close”標示,長連接用”Connection: keep-alive”標示。目前HTTP/1.0默認使用短連接,HTTP/1.1默認使用長連接。)

而長連接(也稱持久連接)模式的HTTP在發(fā)送完數(shù)據(jù)后服務器并不斷開連接,而是留著下一次HTTP請求時使用,所以長連接的好處是顯而易見的,通過共用一個TCP連接來節(jié)省以后請求時建立/斷開連接的開銷。而EOF是直到這個TCP連接結束(超時或出錯)時才會被發(fā)送,所以我們就不能使用上面的辦法來判斷一次HTTP請求的結束了。這也是使用長連接時都會遇到的一個問題。目前判斷的方法主要有兩種:

(1) 根據(jù)頭中的Content-Length字段。這個字段標明了正文的長度,我們可以以接收完指定長度的字符為判斷結束的依據(jù)。
(2) 在沒有Content-Length時,根據(jù)Transfer-Encoding。有些時候服務器無法確定正文的大小,因為正文可能是動態(tài)產生的,所以就不會提供Content-Length了,而是采用chunk編碼來一塊一塊地發(fā)送正文。每個chunk塊由頭部和正文兩部分組成,頭部中由一個16進制數(shù)字指定了正文的長度;最后由一個長度為0的chunk塊來表示整個HTTP正文的結束。

下面我用PHP實現(xiàn)了有Content-Length時的判斷方式:

1. 獲得Content-Length值

Copy to ClipboardLiehuo.Net Codes引用的內容:[www.veryhuo.com]
$length = 0;
$line = '';
while($line !== "") {
$line = fgets($fp);
if(substr($line, 0, 15) === 'Content-Length:') {
$length = intval(substr($line, 16));
}
}

2. 獲得正文

Copy to ClipboardLiehuo.Net Codes引用的內容:[www.veryhuo.com]
$sum = 0;
while($sum < $length) {
$line = fgets($fp);
$sum += strlen($line);
echo $line;
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 最新中文字幕在线视频 | 国产成人毛片毛片久久网 | 国产精品一区二区三区高清在线 | 麻豆19禁国产青草精品 | 69视频日本| 亚洲精品日韩一区二区 | 欧美一区二区三区四区视频 | 精品久久久久久 | 欧美一级永久免费毛片在线 | 亚洲日韩第一页 | 亚洲图区综合 | 99热久久久这里只有精品免费 | 91久久打屁股调教网站 | jizz性欧美2 jizz性欧美3 | 成人青草亚洲国产 | 意大利极品xxxxhd | 亚洲黄色第一页 | 日韩中文欧美 | 成人三级精品视频在线观看 | 91精品国产人成网站 | 手机免费在线视频 | 亚洲欧洲一区二区三区在线 | 国产精品99久久免费黑人 | 一级毛片在线观看视频 | 免费伊人网 | 亚欧乱色| 在线看中文字幕 | 日韩欧美亚洲国产一区二区三区 | 黑人巨大videosjapan高清 黑人巨大xxx | jizzjlzz大学生 | a毛片a毛片a视频 | 国产精品毛片 | 午夜三级成人三级 | 国产精品亚洲国产三区 | 免费在线亚洲视频 | 欧美性色欧美a在线观看 | 久久99精品久久久久久综合 | 日韩欧美国产一区二区三区 | 亚洲女人毛片 | 久热操 | 中文字幕精品视频在线 |