關於Content-Length

1.當客戶端請求時是Connection: keep-alive的時候,
 
服務器返回的形式Transfer-Encoding: chunked的形式,
 
以確保頁面數據是否結束,長連接就是這種方式,
 
用chunked形式就不能用content-length
 
參考:

設置響應消息的實體內容的大小,單位爲字節。對於HTTP協議來說,
 
這個方法就是設置 Content-Length響應頭字段的值。
 
因爲當瀏覽器與WEB服務器之間使用持久(keep-alive)的HTTP連接,
 
如果WEB服務器沒有采用chunked傳輸編碼方式,那麼它必須在每一個應答中發送一個
 
Content-Length的響應頭來表示各個實體內容的長度,以便客戶端能夠分辨出上一個響應內容的結束位置。
 
一般來說,Servlet程序不必調用 setContentLength方法來設置Content-Length頭字段,
 
因爲Servlet引擎在向客戶端實際輸出響應內容時,它可以自動設置 Content-Length頭字段或採
 
用chunked傳輸編碼方式。

 

2.當不是keep-alive,就是常用短連接形式,會直接把連接關掉,不需要長度

 

3. 服務器上取得是動態內容,所有沒有content-length這項


如果是靜態頁面,則有

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章