Kod status HTTP 100


100 (Teruskan) Pemohon hendaklah terus membuat permintaan. Pelayan mengembalikan kod ini untuk menunjukkan bahawa ia telah menerima bahagian pertama permintaan dan sedang menunggu selebihnya.

Pelayan menentukan sama ada untuk menerima permintaan pelanggan berdasarkan pengepala permintaan pelanggan. Jika permintaan itu diterima, ia bertindak balas dengan kod status 100 Pelayan menentukan sama ada ia adalah permintaan Jangkakan berdasarkan sama ada terdapat pengepala permintaan Jangka: 100-terus (sesetengah pelayan web tidak dapat mengendalikan permintaan Jangkaan ini dengan betul menunjukkan bahawa pelayan telah menerima bahagian permintaan awal, dan minta pelanggan untuk meneruskan penghantaran. Selepas pelayan menghantar kod status 100 Continue, ia mesti bertindak balas jika ia menerima permintaan daripada klien.

Kod status ini sebenarnya adalah pengoptimuman untuk senario berikut: klien mempunyai fail yang lebih besar yang perlu dimuat naik dan disimpan, tetapi klien tidak tahu sama ada pelayan bersedia menerima fail tersebut, jadi ia berharap untuk memindahkannya sebelum menggunakan sumber rangkaian, minta pelayan terlebih dahulu. Operasi sebenar adalah untuk pelanggan menghantar mesej permintaan khas, dan pengepala mesej harus mengandungi

Expect: 100-continue

Pada masa ini, jika pelayan bersedia menerimanya, ia akan mengembalikan kod status 100 Continue, jika tidak ia akan kembalikan kod status 417 Expectation Failed. Bagi pelanggan, jika pelanggan tidak berniat untuk menghantar permintaan sebenar, ia tidak sepatutnya menghantar mesej yang mengandungi 100 Continue Expect, kerana ini akan membuatkan pelayan tersalah anggap bahawa klien akan menghantar permintaan.

Seperti yang dinyatakan sebelum ini, tidak semua aplikasi HTTP menyokong kod status 100 Continue (seperti HTTP/1.0 dan versi proksi atau pelayan sebelumnya), jadi pelanggan tidak perlu menunggu respons pelayan selepas menghantar 100 Continue Expect , selepas a tempoh masa tertentu, pelanggan harus terus menghantar kandungan yang dirancang untuk dihantar.

Bagi pelayan, 100 Continue tidak boleh dianggap sebagai kaedah penghakiman yang ketat. Pelayan mungkin telah menerima mesej badan daripada klien sebelum menghantar respons. Pada ketika ini pelayan tidak lagi perlu menghantar 100 Continue sebagai respons. Tetapi masih perlu mengembalikan kod status yang sesuai selepas penerimaan selesai. Secara teorinya, apabila pelayan menerima permintaan 100 Continue Expect, ia harus bertindak balas. Tetapi pelayan tidak boleh menghantar kod status 100 Continue sebagai tindak balas kepada pelanggan yang tidak menghantar permintaan 100 Continue Expect. Respons yang dinyatakan di sini bermaksud: dengan mengandaikan bahawa pelayan tidak berniat untuk menerima mesej badan yang akan dihantar oleh pelanggan, ia juga harus membuat respons yang sesuai (seperti menghantar 417 Expectation Failed) dan bukannya menutup sambungan sahaja, yang akan menyebabkan masalah untuk pelanggan Impak di peringkat rangkaian.

Istimewanya, aplikasi HTTP sebagai proksi perlu membuat pertimbangan tambahan apabila menerima permintaan dengan 100 Continue Expect. Dengan mengandaikan bahawa pelayan proksi mengetahui dengan jelas bahawa versi HTTP hiliran mesej itu serasi dengan HTTP/1.1, atau pelayan proksi tidak mengetahui versi hiliran mesej, ia harus memajukan permintaan 100 Continue Expect ini. Walau bagaimanapun, jika pelayan proksi mengetahui dengan jelas bahawa aplikasi hiliran mesej tidak dapat mengendalikan 100 Continue Expect, ia harus secara langsung mengembalikan 417 Expectation Failed kepada klien sebagai respons. Dan ini bukan satu-satunya penyelesaian Satu lagi cara yang boleh dilaksanakan ialah dengan terus mengembalikan 100 Teruskan kepada pelanggan, dan kemudian menghantar mesej dengan 100 Teruskan Jangka dipadamkan ke hiliran.

Selain itu, jika pelayan proksi memutuskan untuk menyediakan HTTP/1.0 dan versi sebelumnya, maka apabila ia menerima mesej respons 100 Continue daripada pelayan, ia tidak seharusnya memajukan respons ini kepada klien, kerana pelanggan berkemungkinan tidak tidak tahu bagaimana untuk mengendalikan mesej ini.