天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

判斷Keep-Alive模式的HTTP請求的結(jié)束的實現(xiàn)代碼

所以根據(jù)EOF就可判斷一次請求的結(jié)束,下面的代碼(php)很常見:
復(fù)制代碼 代碼如下:
// $fp是由fsockopen()產(chǎn)生的句柄
while(!feof($fp)) {
echo fgets($fp);
}

(注:短連接模式是在頭部用”Connection: close”標示,長連接用”Connection: keep-alive”標示。目前HTTP/1.0默認使用短連接,HTTP/1.1默認使用長連接。)
而長連接(也稱持久連接)模式的HTTP在發(fā)送完數(shù)據(jù)后服務(wù)器并不斷開連接,而是留著下一次HTTP請求時使用,所以長連接的好處是顯而易見的,通過共用一個TCP連接來節(jié)省以后請求時建立/斷開連接的開銷。而EOF是直到這個TCP連接結(jié)束(超時或出錯)時才會被發(fā)送,所以我們就不能使用上面的辦法來判斷一次HTTP請求的結(jié)束了。這也是使用長連接時都會遇到的一個問題。目前判斷的方法主要有兩種:
(1) 根據(jù)頭中的Content-Length字段。這個字段標明了正文的長度,我們可以以接收完指定長度的字符為判斷結(jié)束的依據(jù)。
(2) 在沒有Content-Length時,根據(jù)Transfer-Encoding。有些時候服務(wù)器無法確定正文的大小,因為正文可能是動態(tài)產(chǎn)生的,所以就不會提供Content-Length了,而是采用chunk編碼來一塊一塊地發(fā)送正文。每個chunk塊由頭部和正文兩部分組成,頭部中由一個16進制數(shù)字指定了正文的長度;最后由一個長度為0的chunk塊來表示整個HTTP正文的結(jié)束。
下面我用php實現(xiàn)了有Content-Length時的判斷方式:
1. 獲得Content-Length值
復(fù)制代碼 代碼如下:
$length = 0;
$line = '';
while($line !== "/r/n") {
$line = fgets($fp);
if(substr($line, 0, 15) === 'Content-Length:') {
$length = intval(substr($line, 16));
}
}

2. 獲得正文
復(fù)制代碼 代碼如下:
$sum = 0;
while($sum < $length) {
$line = fgets($fp);
$sum += strlen($line);
echo $line;
}

php技術(shù)判斷Keep-Alive模式的HTTP請求的結(jié)束的實現(xiàn)代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 中文字幕偷乱免费视频在线 | 全黄H全肉禁乱公 | 亚洲中文字幕日本在线观看 | 97人妻中文字幕免费视频 | 99re10久久热 | CHINA篮球体育飞机2022网站 | 午夜宅宅伦电影网 | 中文字幕 人妻熟女 | 美女一级毛片免费不卡视频 | 男女无遮挡吃奶gift动态图 | 亚洲无线观看国产 | freevideoshd| 看全色黄大色大片免费久黄久 | 国产深夜福利视频在线 | 日本美国群交P片内射捆绑 日本毛片久久国产精品 | 娇小8一12xxxx第一次 | 日本漫画之无彩翼漫画 | 嫩草影院一区 | 色欲av蜜臀av高清 | 免费精品国偷自产在线 | 国产午夜不卡在线观看视频666 | 国产午夜理论片YY8840Y | 久久综合香蕉久久久久久久 | 在线 自拍 综合 亚洲 欧美 | 美女被黑人巨大进入 | 国产传媒精品1区2区3区 | 国产成人精选免费视频 | 午夜国产福利 | 国产又粗又猛又爽又黄的免费视频 | 中文字幕在线视频观看 | 国产CHINESE HD精品 | 亚洲精品高清AV在线播放 | 久久精品免视看国产 | 泡妞高手在都市免费观看 | 免费在线观看的毛片 | 国语自产精品一区在线视频观看 | 蜜芽在线播放免费人成日韩视频 | 一二三四在线播放免费观看中文版视频 | 男人的天堂黄色 | 久久综合电影 | 国产一级毛片在线 |