Tengingin opnast. Beiðnishausarnir fara út. Skráin virðist ekki hreyfast. Ein skýring er að biðlarinn bíður svars við Expect: 100-continue áður en hann sendir líkamann.

Aðferðin gerir viðtakanda kleift að hafna beiðni út frá hausunum áður en hugsanlega stór upphleðsla er send. Venjuleg vel heppnuð röð er:

request headers → 100 Continue → request body → final response

100 er upplýsandi: það leyfir biðlinum að halda áfram, en þýðir ekki að skráin hafi verið geymd eða að aðgerð forritsins hafi tekist. Git push sem skilar HTTP 417 er eitt áþreifanlegt tilvik misheppnaðrar væntingar.

Finndu hvaða svar biðlarinn fékk

AthugunMerking sem á að rannsaka
100 ContinueBiðlarinn getur haldið áfram með líkamann
Endanleg höfnun fyrir líkamannAðgerðinni var hafnað á hausastiginu
Ekkert væntanlegt millisvarBiðstefna biðlarans og meðferðin á þeirri leið

curl býður sérstaka biðstillingu fyrir expect-continue. Ef sú libcurl-bið rennur út án væntanlegs svars sendir það líkamann engu að síður; útrunnið er ekki sjálfkrafa misheppnaður allur flutningur. Stillingin er aðskilin frá þeim tíma sem leyfður er fyrir fullum flutningi. Að auka hið síðara getur látið sama upphafshlé standa óútskýrt.

Greindu einnig hvaða HTTP-samtal ber Expect. Með venjulegu CONNECT til HTTPS-áfangastaðar er upphleðsluskipti vefsins inni í TLS; framsendingarproxy skoðar ekki einfaldlega innri væntingahausinn. Leið með afhendingu eða klártexta er önnur.

Að fjarlægja væntinguna getur verið viljandi samhæfnisval, en það þýðir að biðlarinn getur byrjað að senda stóran líkama áður en hann fréttir af snemmbærri höfnun. Berðu þessa hegðun saman við raunverulegu kröfuna. Ekki lýsa sögulegri leið hjá gömlum proxy sem almennri leiðbeiningu um að fjarlægja hausinn af hverri upphleðslu.

Tengdir greinar