Hlé á HTTP-upphleðslu og Expect: 100-continue
Þekktu Expect: 100-continue samskiptin og greindu stutta ákvörðunarpunktinn frá upphleðslu sem stöðvaðist við gagnaflutning.
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 response100 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
| Athugun | Merking sem á að rannsaka |
|---|---|
| 100 Continue | Biðlarinn getur haldið áfram með líkamann |
| Endanleg höfnun fyrir líkamann | Aðgerðinni var hafnað á hausastiginu |
| Ekkert væntanlegt millisvar | Bið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.