2014-05-18 26 views
0

HTTP協議:http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-26.html#header.expect「期望:100-繼續」以及...服務器如何告訴客戶端希望接收身體並丟棄它?

  • 與最終狀態碼返回讀取整個消息體之前在該響應是否有意關閉連接或繼續讀取和丟棄請求消息
  • 應該指示服務器

如果服務器希望關閉連接,則在他的響應中將包括「Connection:close」。但是,它如何告訴客戶它希望繼續閱讀並丟棄身體?我不知道有任何標題可以做到這一點。

如果它收到屍體並丟棄它,這並不意味着「100-繼續」是沒用的?這就是「100-繼續」的全部要點,如果無論如何都會被拒絕的話,不會發送該身體。

回答

0

當服務器發送其最後的回覆時,它已完成處理請求。如果服務器在客戶端仍在發送數據時發送該應答,則客戶端應該停止發送,然後出現HTTP保持活動狀態(HTTP 1.0回覆中明確的Connection: keep-alive標頭或HTTP中缺少的Connection: close標頭1.1回覆)是服務器指示它將丟棄發送的任何剩餘數據,因爲它需要清除掛起數據的套接字,然後才能在同一連接上接收到新的請求。

100-Continue不是沒用的。想想當服務器發送100讓客戶端開始發送時,會發生什麼,然後錯誤並決定停止接收併發送最終回覆報告錯誤。服務器在請求開始時並不知道它會出錯。

相關問題