Jeda Muat Naik HTTP dan Expect: 100-continue
Kenal pasti pertukaran Expect: 100-continue dan bezakan titik keputusannya yang singkat daripada muat naik yang tersekat semasa memindahkan data.
Sambungan dibuka. Pengepala permintaan keluar. Fail kelihatan tidak bergerak. Satu penjelasan ialah klien sedang menunggu respons terhadap Expect: 100-continue sebelum menghantar badannya.
Mekanisme ini membolehkan penerima menolak permintaan berdasarkan pengepalanya sebelum muat naik yang mungkin besar dihantar. Urutan kejayaan biasa ialah:
request headers → 100 Continue → request body → final response
100 adalah bermaklumat: ia membenarkan klien meneruskan, tetapi tidak bermakna fail telah disimpan atau operasi aplikasi telah berjaya. Git push yang mengembalikan HTTP 417 ialah satu kes kegagalan jangkaan yang konkrit.
Kenal pasti respons yang diterima oleh klien
| Pemerhatian | Maksud untuk disiasat |
|---|---|
| 100 Continue | Klien boleh meneruskan dengan badan |
| Penolakan muktamad sebelum badan | Operasi ditolak pada peringkat pengepala |
| Tiada respons sementara yang dijangka | Dasar menunggu klien dan pengendalian pada laluan itu |
curl mendedahkan tetapan tunggu expect-continue yang khusus. Jika tunggu libcurl itu tamat tanpa respons yang dijangka, ia tetap menghantar badan; tamat tempoh bukan secara automatik bermakna keseluruhan pemindahan gagal. Tetapan ini berasingan daripada masa yang dibenarkan untuk keseluruhan pemindahan. Meningkatkan yang terakhir boleh membiarkan jeda awal yang sama tidak dijelaskan.
Kenal pasti juga perbualan HTTP mana yang membawa Expect. Dengan CONNECT biasa ke destinasi HTTPS, pertukaran muat naik laman web berada di dalam TLS; proksi hadapan tidak semata-mata memeriksa pengepala jangkaan dalamannya. Laluan pintasan atau penghantaran teks biasa adalah berbeza.
Membuang jangkaan boleh menjadi pilihan keserasian yang disengajakan, tetapi ia bermakna klien mungkin mula menghantar badan yang besar sebelum mengetahui tentang penolakan awal. Bandingkan tingkah laku itu dengan keperluan sebenar. Jangan gambarkan penyelesaian sejarah untuk proksi lama sebagai arahan sejagat untuk membuang pengepala daripada setiap muat naik.