http之100-continue

  1. 100-continue 是用於客戶端在發送 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

轉載自 http://www.cnblogs.com/tekkaman/archive/2013/04/03/2997781.html

發佈了80 篇原創文章 · 獲贊 16 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章