Tilkoplinga blir opna. Førespurnadshovuda går ut. Fila ser ikkje ut til å flytte seg. Ei forklaring er at klienten ventar på eit svar på Expect: 100-continue før han sender kroppen.

Mekanismen lèt ein mottakar avvise ein førespurnad ut frå hovuda før ei potensielt stor opplasting blir send. Den vanlege vellukka sekvensen er:

request headers → 100 Continue → request body → final response

100 er informativ: han lèt klienten halde fram, men tyder ikkje at fila er lagra eller at applikasjonsoperasjonen har lukkast. Ein Git push som returnerer HTTP 417, er eitt konkret tilfelle av mislukka forventning.

Finn ut kva svar klienten fekk

ObservasjonKva som bør granskast
100 ContinueKlienten kan halde fram med kroppen
Endeleg avvising før kroppenOperasjonen vart avvist i hovudstadiet
Ikkje noko venta mellomsvarVentepolitikken til klienten og handteringa på den vegen

curl har ei eiga innstilling for expect-continue-venting. Viss den libcurl-ventinga går ut utan det venta svaret, blir kroppen likevel send; utløp er ikkje automatisk ei mislukka heil overføring. Innstillinga er skild frå tida som er tillaten for heile overføringa. Å auke sistnemnde kan la den same innleiande pausen stå uforklart.

Identifiser òg kva HTTP-samtale som ber Expect. Med vanleg CONNECT til eit HTTPS-mål ligg opplastingsutvekslinga til nettstaden inne i TLS; videresendingsproxien granskar ikkje berre den indre forventningshovudet. Ein avskjerings- eller klartekstveg er annleis.

Å fjerne forventninga kan vere eit medvite kompatibilitetsval, men det tyder at klienten kan byrje å sende ein stor kropp før han veit om ei tidleg avvising. Samanlikn denne åtferda med det faktiske kravet. Ikkje skildre ei historisk løysing for ein gamal proxy som eit universelt pålegg om å fjerne hovudet frå kvar opplasting.

Relaterte artiklar