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