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這項
如果是靜態頁面,則有