Kod status HTTP JSP
Format permintaan HTTP dan respons HTTP adalah serupa, dan kedua-duanya mempunyai struktur berikut:
Mulakan dengan baris status + CRLF (pemulangan pengangkutan dan suapan talian)
Modul pengepala baris sifar atau berbilang +CRLF
Baris kosong, seperti CRLF
Isi mesej pilihan seperti fail, data pertanyaan, output pertanyaan
Sebagai contoh, pengepala respons pelayan kelihatan seperti berikut:
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) <!doctype ...> <html> <head>...</head> <body> ... </body> </html>
Jadual berikut menyenaraikan kod status HTTP dan mesej berkaitan yang mungkin dikembalikan daripada pelayan:
Kod Status | Mesej | Penerangan |
---|---|---|
100 | Teruskan | Hanya sebahagian daripada permintaan diterima oleh pelayan, tetapi selagi ia tidak ditolak oleh pelayan, pelanggan akan meneruskan permintaan |
101 | Menukar Protokol | Protokol Tukar Pelayan |
200 | OK | Permintaan disahkan |
201 | Dicipta | Lengkap atas permintaan, sumber baharu dicipta |
202 | Diterima | Permintaan telah diterima tetapi tidak diproses |
203 | Maklumat Tidak Berwibawa | |
204 | Tiada Kandungan | |
205 | Tetapkan Semula Kandungan | |
206 | Kandungan Separa | |
300 | Pelbagai Pilihan | Jadual hiperpautan Pengguna boleh memilih hiperpautan dan mengaksesnya Maksimum 5 hiperpautan disokong |
301 | Bergerak Secara Kekal | Halaman yang diminta telah dialihkan ke URL baharu |
302 | Ditemui | Halaman yang diminta telah dialihkan buat sementara waktu ke URL baharu |
303 | Lihat Lain | Halaman yang diminta boleh didapati di bawah URL lain |
304 | Tidak Diubahsuai | |
305 | Gunakan Proksi | |
306 | Tidak digunakan | Kod status ini tidak lagi digunakan, tetapi kod status dikekalkan |
307 | Ubah hala Sementara | Halaman yang diminta telah dialihkan buat sementara waktu ke URL baharu |
400 | Permintaan Buruk | Pelayan tidak mengenali permintaan |
401 | Tanpa kebenaran | Halaman yang diminta memerlukan nama pengguna dan kata laluan |
402 | Pembayaran Diperlukan | Kod status ini belum boleh digunakan lagi |
403 | Dilarang | Akses ke halaman yang diminta adalah dilarang |
404 | Tidak Ditemui | Pelayan tidak dapat mencari halaman yang diminta |
405 | Kaedah Tidak Dibenarkan | Kaedah yang dinyatakan dalam permintaan tidak dibenarkan |
406 | Tidak Boleh Diterima | Pelayan hanya boleh membuat respons yang tidak boleh diterima oleh pelanggan |
407 | Pengesahan Proksi Diperlukan | Pelayan proksi mesti disahkan sebelum permintaan boleh disampaikan |
408 | Minta Tamat Masa | Masa permintaan melebihi masa yang pelayan boleh menunggu dan sambungan telah diputuskan |
409 | Konflik | Permintaan bercanggah |
410 | Pergi | Halaman yang diminta tidak lagi tersedia |
411 | Panjang Diperlukan | "Panjang Kandungan" tidak ditakrifkan, pelayan enggan menerima permintaan |
412 | Prasyarat Gagal | Prasyarat yang diminta telah dinilai oleh pelayan sebagai palsu |
413 | Minta Entiti Terlalu Besar | Pelayan enggan menerima permintaan kerana entiti yang diminta terlalu besar |
414 | Permintaan-url Terlalu Panjang | Pelayan enggan menerima permintaan kerana URL terlalu panjang.Sebilangan besar maklumat pertanyaan muncul apabila menukar permintaan "POST" kepada permintaan "GET" |
415 | Jenis Media Tidak Disokong | Pelayan enggan menerima permintaan kerana jenis media tidak disokong |
417 | Jangkaan Gagal | |
500 | Ralat Pelayan Dalaman | Permintaan tidak lengkap dan pelayan menghadapi keadaan yang tidak dijangka |
501 | Tidak Dilaksanakan | Permintaan tidak lengkap dan pelayan tidak menyediakan fungsi yang diperlukan |
502 | Gerbang Buruk | Permintaan tidak lengkap dan pelayan menerima respons tidak sah daripada pelayan huluan |
503 | Perkhidmatan Tidak Tersedia | Permintaan tidak lengkap dan pelayan dimulakan semula atau ditutup buat sementara waktu |
504 | Tamat Masa Gateway | Tamat masa gerbang |
505 | Versi HTTP Tidak Disokong | Pelayan tidak menyokong versi HTTP yang dinyatakan |
Kaedah untuk menetapkan kod status HTTP
Jadual berikut menyenaraikan kaedah yang digunakan untuk menetapkan kod status dalam kelas HttpServletResponse:
S.N. | Kaedah & Penerangan |
---|
S.N. | 方法 & 描述 |
---|---|
1 | public void setStatus ( int statusCode ) |
2 | public void sendRedirect(String url) |
3 | public void sendError(int code, String message) |
1
public void setStatus ( int statusCode )
Kaedah ini boleh menetapkan sebarang kod status. Jika respons anda mengandungi kod status khas dan dokumen, pastikan anda memanggil kaedah setStatus
sebelum mengembalikan apa-apa dengan PrintWriter 2<🎜>public void sendRedirect(String url)<🎜><🎜> Kaedah ini menjana respons 302 dan juga menjana pengepala Lokasi yang memberitahu URL dokumen baharu <🎜><🎜><🎜><🎜> 3<🎜><🎜>public void sendError(int code, String message)<🎜>
<🎜> Kaedah ini secara automatik memasukkan kod status (biasanya 404) dan mesej ringkas ke dalam dokumen HTML dan menghantarnya semula kepada klien <🎜><🎜><🎜><🎜><🎜><🎜> Contoh program kod status HTTP <🎜><🎜>Contoh berikut akan menghantar kod ralat 407 kepada penyemak imbas, dan kemudian penyemak imbas akan memberitahu anda "Perlukan pengesahan!!!". <🎜>
<html> <head> <title>Setting HTTP Status Code</title> </head> <body> <% // 设置错误代码,并说明原因 response.sendError(407, "Need authentication!!!" ); %> </body> </html><🎜>Apabila anda mengakses halaman JSP di atas, anda akan mendapat keputusan berikut: <🎜><🎜><🎜>Anda juga boleh cuba menggunakan kod status lain untuk melihat sama ada anda akan mendapat sebarang keputusan yang tidak dijangka. <🎜><🎜>