Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 12455|Jawab: 1

Header permintaan HTTP Expect dijelaskan secara rinci

[Salin tautan]
Dipaparkan pada 2021-4-22 15:32:09 | | |
Pengenalan Dokumen:Login hyperlink terlihat.

Saat memanggil antarmuka pihak lain melalui curl, ditemukan bahwa fenomena batas waktu sangat serius, jadi saya bertanya kepada orang antarmuka pihak lain, dan pihak lain mengatakan bahwa perlu untuk menambahkan:


Setelah menambahkannya, saya menemukan bahwa itu benar-benar bekerja dengan baik, jadi saya meneliti cara menggunakannya. Saat menggunakan curl untuk POST, ketika "Data POST lebih besar dari 1024 byte", curl tidak akan secara langsung memulai permintaan POST, tetapi akan dibagi menjadi 2 langkah:

Expect: 100-continue

1. Kirim permintaan yang berisi Expect:100-continue, meminta server untuk menerima data

2. Setelah menerima balasan 100-lanjutan yang dikembalikan oleh Server, data DIPOSTING ke Server

Tetapi ada beberapa masalah dengan ini:

Tidak semua server akan merespons 100-continue dengan benar, misalnya lighttpd, yang akan mengembalikan 417 Expectation Failed.

menyebabkan penundaan,Saat klien mengirim Expect:100-continue pertama, ia perlu menunggu server menjawab sebelum mengirim isi permintaan

Jika Anda yakin bahwa server pihak lain tidak akan menolak permintaan POST lebih dari 1024 byte, Anda dapat menghindari penggunaan metode ini dan menghindari dua efek samping yang disebutkan di atas, dan solusinya adalah yang disebutkan di awal artikel.

Sekitar 100 melanjutkan

Tujuannya adalah untuk:

Ini memungkinkan klien untuk menilai apakah server bersedia menerima data permintaan sebelum mengirimkannya, dan jika server bersedia menerimanya, klien akan benar-benar mengirimkan data.

Perilaku klien:

Klien yang mengirim 100 lanjutan tidak boleh menunggu selamanya untuk respons dari server, dan setelah jangka waktu tunggu, klien harus mengirim entitas secara langsung.

Perilaku sisi server:

Jika server menerima permintaan 100 lanjutkan, server akan merespons dengan 100 lanjutkan atau mengirim kode kesalahan. Server tidak pernah dapat mengirim 100 lanjutan ke klien yang tidak mengirim 100 lanjutkan. Tetapi beberapa server melakukannya. IIS 5 salah mengirim respons 100-lanjutan

Jika server menerima badan klien sebelum mengirim respons 100 lanjutkan, itu berarti klien telah memutuskan untuk mulai mengirim data, sehingga server tidak dapat lagi mengirim 100 lanjutan ke klien.
Kode pengaturan .NET Expect Off Expect adalah sebagai berikut:

RestSharp diatur sebagai berikut:







Mantan:Perbedaan antara utf8 dan utf8mb4 di MySQL
Depan:SignalR menambahkan dukungan lintas domain untuk akses jarak jauh
 Tuan tanah| Dipaparkan pada 2025-4-6 21:52:04 |
Metode penutupan HttpClient


atau

Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com