Pauze la încărcarea HTTP și Expect: 100-continue
Recunoașteți schimbul Expect: 100-continue și distingeți punctul său scurt de decizie de o încărcare care s-a blocat în timpul transferului de date.
Conexiunea se deschide. Antetele cererii pleacă. Fișierul pare să nu se miște. O explicație este că clientul așteaptă un răspuns la Expect: 100-continue înainte de a-și trimite corpul.
Mecanismul permite unui destinatar să respingă o cerere pe baza antetelor înainte de a fi trimisă o încărcare potențial mare. Secvența obișnuită de succes este:
request headers → 100 Continue → request body → final response
100 este informativ: îi permite clientului să continue, dar nu înseamnă că fișierul a fost stocat sau că operația aplicației a reușit. Un Git push care returnează HTTP 417 este un caz concret de expectativă nerespectată.
Stabiliți ce răspuns a primit clientul
| Observație | Ce trebuie investigat |
|---|---|
| 100 Continue | Clientul poate continua cu corpul |
| O respingere finală înainte de corp | Operația a fost refuzată în etapa antetelor |
| Niciun răspuns intermediar așteptat | Politica de așteptare a clientului și tratarea pe acea cale |
curl expune o setare dedicată de așteptare expect-continue. Dacă acea așteptare libcurl expiră fără răspunsul așteptat, corpul este trimis oricum; expirarea nu este automat un transfer întreg eșuat. Setarea este separată de timpul permis pentru transferul complet. Creșterea acestuia din urmă poate lăsa aceeași pauză inițială neexplicată.
Identificați și ce conversație HTTP transportă Expect. Cu un CONNECT obișnuit către o destinație HTTPS, schimbul de încărcare al site-ului este în interiorul TLS; proxy-ul de forward nu inspectează pur și simplu antetul intern de expectativă. O cale de interceptare sau de forwardare în text simplu este diferită.
Eliminarea expectativei poate fi o alegere deliberată de compatibilitate, dar înseamnă că clientul poate începe să trimită un corp mare înainte de a afla de o respingere timpurie. Comparați acel comportament cu cerința reală. Nu descrieți o soluție istorică pentru un proxy vechi ca instrucțiune universală de a elimina antetul din fiecare încărcare.