HTTP狀態(tài)碼:100 Continue
作者:肥貓科技 發(fā)布時(shí)間:2017-07-22 14:53 欄目:網(wǎng)頁(yè)代碼
客戶(hù)端應(yīng)當(dāng)繼續(xù)發(fā)送請(qǐng)求。這個(gè)臨時(shí)響應(yīng)是用來(lái)通知客戶(hù)端它的部分請(qǐng)求已經(jīng)被服務(wù)器接收,且仍未被拒絕??蛻?hù)端應(yīng)當(dāng)繼續(xù)發(fā)送請(qǐng)求的剩余部分,或者如果請(qǐng)求已經(jīng)完成,忽略這個(gè)響應(yīng)。服務(wù)器必須在請(qǐng)求完成后向客戶(hù)端發(fā)送一個(gè)最終響應(yīng)。
1、http100-continue用于客戶(hù)端在發(fā)送POST數(shù)據(jù)給服務(wù)器前,征詢(xún)服務(wù)器情況,看服務(wù)器是否處理POST的數(shù)據(jù),如果不處理,客戶(hù)端則不上傳POST數(shù)據(jù),如果處理,則POST上傳數(shù)據(jù)。在現(xiàn)實(shí)應(yīng)用中,通過(guò)在POST大數(shù)據(jù)時(shí),才會(huì)使用100-continue協(xié)議。
2、客戶(hù)端策略。
1)如果客戶(hù)端有POST數(shù)據(jù)要上傳,可以考慮使用100-continue協(xié)議。加入頭{"Expect":"100-continue"}
2)如果沒(méi)有POST數(shù)據(jù),不能使用100-continue協(xié)議,因?yàn)檫@會(huì)讓服務(wù)端造成誤解。
3)并不是所有的Server都會(huì)正確實(shí)現(xiàn)100-continue協(xié)議,如果Client發(fā)送Expect:100-continue消息后,在timeout時(shí)間內(nèi)無(wú)響應(yīng),Client需要立馬上傳POST數(shù)據(jù)。
4)有些Server會(huì)錯(cuò)誤實(shí)現(xiàn)100-continue協(xié)議,在不需要此協(xié)議時(shí)返回100,此時(shí)客戶(hù)端應(yīng)該忽略。
3、服務(wù)端策略。
1)正確情況下,收到請(qǐng)求后,返回100或錯(cuò)誤碼。
2)如果在發(fā)送100-continue前收到了POST數(shù)據(jù)(客戶(hù)端提前發(fā)送POST數(shù)據(jù)),則不發(fā)送100響應(yīng)碼(略去)。
本文標(biāo)簽: HTTP狀態(tài)碼 100 Continue