HTTP狀態碼:100 Continue
客戶端應當繼續發送請求。這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕。客戶端應當繼續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應。服務器必須在請求完成后向客戶端發送一個最終響應。
1、http100-continue用于客戶端在發送POST數據給服務器前,征詢服務器情況,看服務器是否處理POST的數據,如果不處理,客戶端則不上傳POST數據,如果處理,則POST上傳數據。在現實應用中,通過在POST大數據時,才會使用100-continue協議。
2、客戶端策略
①如果客戶端有POST數據要上傳,可以考慮使用100-continue協議。加入頭{"Expect":"100-continue"}
②如果沒有POST數據,不能使用100-continue協議,因為這會讓服務端造成誤解。
③并不是所有的Server都會正確實現100-continue協議,如果Client發送Expect:100-continue消息后,在timeout時間內無響應,Client需要立馬上傳POST數據。
④有些Server會錯誤實現100-continue協議,在不需要此協議時返回100,此時客戶端應該忽略。
3、服務端策略
①正確情況下,收到請求后,返回100或錯誤碼。
②如果在發送100-continue前收到了POST數據(客戶端提前發送POST數據),則不發送100響應碼(略去)。