http之100-continue(轉)


1、http 100-continue用於客戶端在發送POST數據給服務器前,征詢服務器情況,看服務器是否處理POST的數據,如果不處理,客戶端則不上傳POST數據,如果處理,則POST上傳數據。在現實應用中,通過在POST大數據時,才會使用100-continue協議。

  2、客戶端策略。

    1)如果客戶端有POST數據要上傳,可以考慮使用100-continue協議。加入頭{"Expect":"100-continue"}

    2)如果沒有POST數據,不能使用100-continue協議,因為這會讓服務端造成誤解。

    3)並不是所有的Server都會正確實現100-continue協議,如果Client發送Expect:100-continue消息后,在timeout時間內無響應,Client需要立馬上傳POST數據。

    4)有些Server會錯誤實現100-continue協議,在不需要此協議時返回100,此時客戶端應該忽略。

  3、服務端策略。

    1)正確情況下,收到請求后,返回100或錯誤碼。

    2)如果在發送100-continue前收到了POST數據(客戶端提前發送POST數據),則不發送100響應碼(略去)。

  參考RFC文檔:http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM