Cari mana-mana kod status HTTP: maksudnya, bila pelayan menghantarnya dan spesifikasi yang mentakrifkannya. Cari mengikut nombor atau kata kunci, tapis mengikut kelas, dan pautkan terus ke kod.
Pelayan telah menerima pengepala permintaan dan klien boleh menghantar isi. Dilihat apabila klien menghantar “Expect: 100-continue” sebelum memuat naik isi yang besar.
Pelayan telah menerima permintaan WebDAV tetapi belum selesai memprosesnya. Ia dikeluarkan daripada spesifikasi WebDAV kemudian dan jarang digunakan hari ini.
Dihantar sebelum respons akhir supaya pelayar boleh mula pramuat sumber yang disenaraikan dalam pengepala Link. Digunakan oleh CDN dan pelayan untuk mempercepat pemuatan halaman.
Permintaan telah diterima untuk diproses tetapi belum selesai. Digunakan oleh API yang memasukkan kerja ke dalam barisan, seperti eksport atau tugas kelompok.
Permintaan berjaya dan tiada kandungan untuk dikembalikan. Lazim untuk permintaan DELETE dan untuk menyimpan data apabila klien tidak memerlukan isi respons.
Pelayan hanya mengembalikan julat bait yang diminta klien. Dilihat apabila video distrim, muat turun disambung semula, atau klien menghantar pengepala Range.
Sumber telah berpindah secara kekal ke URL dalam pengepala Location. Pelayar dan enjin carian mengemas kini pautan mereka; sesetengah klien menukar POST kepada GET apabila mengikutinya.
Sumber berada buat sementara di URL lain yang dinyatakan dalam pengepala Location. Lazim selepas log masuk dan untuk pengalihan jangka pendek; pelayar biasanya mengikutinya dengan GET.
Klien harus mengambil hasil daripada URL lain dengan GET. Digunakan selepas borang dihantar dengan POST untuk mengalihkan ke halaman pengesahan (corak Post/Redirect/Get).
Salinan cache masih sah, jadi pelayan tidak menghantar body. Dilihat apabila pelayar mengesahkan semula fail dalam cache dengan If-None-Match atau If-Modified-Since.
Sumber berada buat sementara di URL lain dan klien mesti mengulangi permintaan dengan kaedah dan body yang sama. Juga digunakan oleh pelayar untuk pengalihan HSTS dalaman ke HTTPS.
Sumber telah berpindah secara kekal dan klien mesti menggunakan kaedah dan body yang sama di URL baharu. Padanan kekal bagi 307, selamat untuk mengalihkan permintaan POST.
Permintaan tidak mempunyai kelayakan pengesahan yang sah. Walaupun namanya begitu, ia bermaksud 'tidak disahkan'; pelayan menghantar pengepala WWW-Authenticate yang menerangkan cara untuk log masuk.
Dikhaskan untuk kegunaan masa hadapan dalam spesifikasi HTTP. Sesetengah API dan perkhidmatan pembayaran menggunakannya apabila pembayaran atau langganan diperlukan.
Pelayan memahami permintaan tetapi menolaknya, dan log masuk semula tidak akan membantu. Dilihat apabila kebenaran hilang, penyenaraian direktori dilumpuhkan atau tembok api menyekat klien.
Sumber wujud tetapi tidak menyokong kaedah HTTP yang digunakan, seperti POST ke URL baca sahaja. Respons menyenaraikan kaedah yang dibenarkan dalam pengepala Allow.
Sumber telah dialih keluar secara kekal dan tidak akan kembali. Tidak seperti 404, kod ini memberitahu enjin carian untuk menggugurkan URL dengan lebih cepat.
Satu syarat dalam pengepala permintaan, seperti If-Match, tidak dipenuhi. Digunakan untuk mengelakkan penimpaan sumber yang berubah sejak klien terakhir membacanya.
URL lebih panjang daripada yang akan diproses oleh pelayan. Biasanya disebabkan borang menghantar terlalu banyak data dengan GET atau gelung redirect yang terus menambah parameter.
Jenaka April Fools daripada Hyper Text Coffee Pot Control Protocol 1998: teko enggan membancuh kopi. HTTP menyimpan kod ini sebagai tidak digunakan, tetapi sesetengah pelayan mengembalikannya sebagai easter egg atau untuk menolak bot yang tidak diingini.
Permintaan sampai ke pelayan yang tidak dapat menghasilkan respons untuk hos ini, contohnya apabila sambungan HTTP/2 digunakan semula untuk domain yang berbeza.
Permintaan mempunyai format yang betul tetapi kandungannya tidak sah, seperti borang dengan peraturan pengesahan yang gagal. Digunakan secara meluas oleh API untuk ralat pengesahan.
Klien telah menghantar terlalu banyak permintaan dalam masa tertentu. API menggunakannya untuk had kadar dan selalunya menyertakan pengepala Retry-After yang menyatakan bila untuk cuba semula.
Bukan kod piawai. nginx menggunakannya secara dalaman untuk menutup sambungan tanpa menghantar sebarang respons, selalunya untuk membuang trafik yang tidak diingini; klien tidak pernah benar-benar menerimanya.
Bukan kod piawai. nginx melognya apabila klien menutup sambungan sebelum pelayan menjawab, contohnya pengguna membatalkan halaman yang perlahan atau tamat masa di pihak klien.
Pelayan mengalami ralat tidak dijangka dan tidak dapat menyelesaikan permintaan. Ralat generik daripada pepijat, ranap atau salah konfigurasi; log pelayan mengandungi butirannya.
Gerbang atau proksi menerima respons tidak sah daripada pelayan huluan. Biasa berlaku apabila aplikasi di belakang nginx atau pengimbang beban telah ranap atau sedang dimulakan semula.
Pelayan tidak dapat mengendalikan permintaan buat sementara waktu kerana terlebih beban atau sedang diselenggara. Pengepala Retry-After mungkin menyatakan bila untuk mencuba lagi.
Gerbang atau proksi tidak mendapat respons daripada pelayan huluan dalam masa yang ditetapkan. Berlaku apabila permintaan backend terlalu perlahan, seperti pertanyaan pangkalan data yang panjang.
Klien mesti mengesahkan identiti untuk mendapat akses rangkaian. Dihantar oleh portal captive pada Wi-Fi hotel, lapangan terbang atau kafe sebelum anda log masuk.
Bukan kod piawai. Cloudflare mengembalikannya apabila pelayan asal menolak sambungan, biasanya kerana pelayan web mati atau menyekat alamat IP Cloudflare.
Bukan kod piawai. Cloudflare mengembalikannya apabila ia bersambung ke pelayan asal tetapi tidak menerima respons HTTP dalam tempoh masa tamatnya (100 saat secara lalai).
Bukan kod piawai. Cloudflare mengembalikannya apabila sijil SSL pelayan asal tidak sah dan mod SSL Full (strict) didayakan.
Ditakrifkan dalam Cloudflare
Cara menggunakannya
Taipkan nombor kod (seperti 404 atau hanya 5 untuk semua ralat pelayan) atau kata kunci seperti “redirect” atau “timeout”.
Sempitkan senarai dengan penapis kelas: maklumat, kejayaan, ubah hala, ralat klien atau ralat pelayan.
Gunakan “Salin pautan” pada mana-mana kod untuk berkongsi pautan terus ke kod itu, contohnya dalam laporan pepijat.
Cara ia berfungsi
Setiap respons HTTP bermula dengan kod status tiga digit. Digit pertama menentukan kelas: respons maklumat 1xx, kejayaan 2xx, pengalihan 3xx, ralat 4xx yang disebabkan oleh permintaan, dan ralat 5xx pada bahagian pelayan. Klien yang tidak mengenali kod tertentu menganggapnya seperti kod x00 kelasnya, jadi kod 4xx yang tidak diketahui dikendalikan seperti 400.
Kod teras ditakrifkan dalam RFC 9110 (HTTP Semantics, 2022), yang menggantikan RFC 7231 yang lebih lama. Kod lain datang daripada sambungan: WebDAV (RFC 4918), RFC 6585 untuk 428, 429, 431 dan 511, RFC 7725 untuk 451, dan RFC 8470 untuk 425. RFC 9110 juga menamakan semula dua kod: 413 kini “Content Too Large” dan 422 “Unprocessable Content”, yang mungkin masih anda lihat dengan nama lama “Payload Too Large” dan “Unprocessable Entity”.
Sesetengah kod yang anda temui dalam log bukan piawaian sama sekali. nginx menggunakan 444 dan 494–499 secara dalaman (499 menunjukkan klien yang berhenti menunggu), dan Cloudflare mengembalikan 520–526 apabila ia tidak dapat mendapat jawapan yang betul daripada pelayan asal. Kod ini ditandai “Bukan piawai” dalam senarai. Frasa sebab (seperti “Not Found”) ditunjukkan dalam bahasa Inggeris seperti yang ditulis dalam spesifikasi; HTTP/2 dan HTTP/3 hanya menghantar nombor.
Contoh
301 atau 308 apabila memindahkan tapak
Kedua-duanya kekal. Gunakan 301 untuk perpindahan halaman biasa; gunakan 308 apabila klien mesti mengulang permintaan POST atau PUT ke URL baharu, kerana sesetengah klien menukar POST kepada GET selepas 301.
401 berbanding 403
API mengembalikan 401 apabila tiada token atau token yang telah tamat tempoh dihantar, jadi klien harus log masuk. API mengembalikan 403 apabila token sah tetapi pengguna tidak mempunyai kebenaran, jadi log masuk semula tidak akan membantu.
Mendiagnosis 502 di belakang nginx
502 Bad Gateway daripada nginx bermakna aplikasi di belakangnya tidak menjawab dengan betul. Periksa sama ada proses aplikasi sedang berjalan dan apa yang dicatatkan dalam log; 504 pula bermakna ia menjawab terlalu perlahan.
Soalan Lazim
Apakah perbezaan antara 404 dan 410?
404 bermaksud pelayan tidak dapat mencari sumber dan tidak menyatakan apa-apa tentang masa depan. 410 bermaksud sumber itu sengaja dialih keluar dan tidak akan kembali, yang membantu enjin carian menggugurkan URL dengan lebih cepat.
Perlukah ralat pengesahan mengembalikan 400 atau 422?
Kedua-duanya digunakan. 400 sesuai untuk permintaan yang tidak dapat dihuraikan oleh pelayan, seperti JSON yang rosak. 422 sesuai untuk permintaan yang dapat dihuraikan tetapi mengandungi nilai tidak sah, seperti medan e-mel tanpa @.
Adakah 418 I'm a teapot kod status sebenar?
Ia berasal daripada RFC April Fools dari 1998. RFC 9110 menempah 418 sebagai status tidak digunakan supaya tidak diberikan kepada kegunaan lain, dan sesetengah pelayan mengembalikannya sebagai gurauan, tetapi ia tidak mempunyai makna standard.
Dari manakah 499 berasal?
499 khusus untuk nginx. Ia muncul dalam log nginx apabila klien menutup sambungan sebelum pelayan menghantar respons. Klien tidak pernah menerima 499; ia biasanya menandakan respons lambat atau tamat masa di pihak klien.
Adakah enjin carian menganggap 302 seperti 301?
302 menandakan perpindahan sementara, jadi enjin carian biasanya mengekalkan URL asal dalam indeks pada mulanya. Jika 302 kekal untuk tempoh yang lama, Google mungkin menganggapnya sebagai ubah hala kekal. Gunakan 301 atau 308 untuk perpindahan kekal.
Privasi
Senarai ini sebahagian daripada halaman. Pencarian dan penapisan berlaku dalam pelayar anda; istilah carian anda tidak dihantar ke mana-mana atau dimasukkan dalam analitik.