Rumah >pembangunan bahagian belakang >tutorial php >Ungkapan biasa PHP dalam tindakan: memadankan kod status HTTP

Ungkapan biasa PHP dalam tindakan: memadankan kod status HTTP

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBasal
2023-06-23 09:33:461450semak imbas

Amalan ungkapan biasa PHP: memadankan kod status HTTP

Dalam pembangunan tapak web, kod status HTTP ialah konsep yang sangat penting. Menurut protokol HTTP, setiap respons HTTP harus mengandungi kod status 3 digit untuk memberitahu pelanggan hasil pemprosesan permintaan tersebut. Jika anda sedang membangunkan tapak web menggunakan PHP, maka menguasai ungkapan biasa untuk memadankan kod status HTTP adalah kemahiran yang berguna.

Klasifikasi kod status HTTP

Kod status HTTP dibahagikan kepada 5 kategori berikut mengikut digit pertama:

  • 1xx: Kod status maklumat, menunjukkan bahawa pelayan telah menerima Permintaan telah dibuat, tetapi tindakan lanjut diperlukan untuk menyelesaikan pemprosesan.
  • 2xx: Kod status kejayaan, menunjukkan bahawa pelayan telah berjaya memproses permintaan.
  • 3xx: Ubah hala kod status, menunjukkan bahawa operasi selanjutnya daripada pelanggan diperlukan untuk melengkapkan permintaan.
  • 4xx: Kod status ralat pelanggan, menunjukkan bahawa terdapat masalah dengan permintaan yang dihantar oleh pelanggan dan pelayan tidak dapat memprosesnya.
  • 5xx: Kod status ralat pelayan, menunjukkan bahawa ralat berlaku apabila pelayan memproses permintaan.

Dalam artikel ini, kami akan menyenaraikan semua kod status HTTP dahulu, dan kemudian memadankannya melalui ungkapan biasa PHP.

Senarai kod status HTTP

Berikut ialah semua kod status HTTP dan maknanya:

  • 100 Teruskan: Pelanggan harus terus menghantar permintaan. Respons sementara ini digunakan untuk memaklumkan klien bahawa sebahagian permintaannya telah diterima oleh pelayan dan masih belum ditolak. Meneruskan menghantar permintaan boleh melengkapkan keseluruhan permintaan atau bahagian lain permintaan itu.
  • 101 Menukar Protokol: Pelayan telah menerima dan memahami permintaan pelanggan dan menyelesaikan operasi naik taraf protokol. Pelayan akan memberitahu klien untuk berkomunikasi pada protokol lain melalui pengepala Naik Taraf.
  • 200 OK: Permintaan telah berjaya dan pengepala respons atau badan data yang dijangkakan oleh permintaan akan dikembalikan dengan respons ini.
  • 201 Dibuat: Permintaan berjaya dan pelayan mencipta sumber baharu.
  • 202 Diterima: Pelayan telah menerima permintaan, tetapi belum menyelesaikan pemprosesan, dan kejayaan tidak dapat dijamin. Biasanya digunakan untuk pemprosesan tak segerak.
  • 203 Maklumat Bukan Berautoriti: Pelayan telah berjaya memproses permintaan, tetapi maklumat yang dikembalikan mungkin datang daripada sumber lain.
  • 204 Tiada Kandungan: Pelayan berjaya memproses permintaan, tetapi tidak mengembalikan sebarang kandungan.
  • 205 Tetapkan Semula Kandungan: Pelayan berjaya memproses permintaan, tetapi tidak perlu memulangkan sebarang kandungan.
  • 206 Kandungan Separa: Pelayan berjaya memproses sebahagian permintaan dan kandungan yang dikembalikan ialah kandungan entiti permintaan julat.
  • 300 Pelbagai Pilihan: Sumber yang diminta oleh pelanggan boleh ditemui di berbilang lokasi dan pelayan mengembalikan senarai sumber untuk dipilih oleh pelanggan.
  • 301 Dialihkan Secara Kekal: Sumber yang diminta oleh klien telah dialihkan secara kekal ke lokasi baharu dan pelayan mengembalikan URL ubah hala kepada klien.
  • 302 Ditemui: Sumber yang diminta oleh pelanggan telah dialihkan buat sementara waktu ke lokasi baharu dan pelayan mengembalikan URL yang diubah hala kepada klien.
  • 303 Lihat Lain: Sumber yang diminta oleh pelanggan mempunyai URI lain dan kaedah GET harus digunakan untuk mendapatkan sumber yang diminta.
  • 304 Tidak Diubah Suai: Pelanggan menghantar permintaan bersyarat, dan pelayan memberitahu pelanggan bahawa sumber dalam cache penyemak imbas boleh terus digunakan.
  • 305 Gunakan Proksi: Sumber yang diminta oleh pelanggan mesti diakses melalui proksi.
  • 307 Ubah Hala Sementara: Sumber yang diminta oleh klien telah dialihkan buat sementara waktu ke lokasi baharu dan pelayan mengembalikan URL yang diubah hala kepada klien. Kaedah ubah hala ini tidak mengubah kaedah permintaan HTTP dan badan mesej.
  • 400 Permintaan Buruk: Permintaan mempunyai ralat sintaks atau permintaan tidak dapat difahami oleh pelayan.
  • 401 Tanpa Kebenaran: Permintaan memerlukan pengesahan pengguna.
  • 402 Pembayaran Diperlukan: Kod status ini dikhaskan untuk kegunaan masa hadapan, menunjukkan bahawa wang elektronik boleh digunakan pada masa hadapan, walaupun ia tidak digunakan pada masa ini. Kod status ini direka khusus untuk mata wang digital bagi memastikan sokongan pelayan yang mencukupi untuk mata wang digital baharu pada masa hadapan.
  • 403 Dilarang: Pelayan menolak permintaan itu.
  • 404 Tidak Ditemui: Pelayan tidak dapat mencari sumber yang diminta.
  • Kaedah 405 Tidak Dibenarkan: Kaedah HTTP yang diminta oleh klien tidak dibenarkan.
  • 406 Tidak Boleh Diterima: Pelayan tidak boleh melengkapkan permintaan berdasarkan ciri kandungan yang diminta oleh pelanggan.
  • 407 Pengesahan Proksi Diperlukan: Peminta hendaklah menggunakan proksi untuk kebenaran.
  • Tamat Masa Permintaan 408: Permintaan telah tamat masa.
  • 409 Konflik: Permintaan tidak dapat diselesaikan kerana konflik dengan keadaan semasa sumber yang diminta.
  • 410 Hilang: Sumber yang diminta tidak lagi tersedia pada pelayan.
  • 411 Panjang Diperlukan: Pelanggan tidak menetapkan pengepala Panjang Kandungan dalam permintaan dan pelayan tidak boleh memproses permintaan ini.
  • 412 Prasyarat Gagal: Pelayan gagal memenuhi satu atau lebih prasyarat yang diberikan dalam medan pengepala permintaan semasa mengesahkannya.
  • 413 Muatan Terlalu Besar: Entiti permintaan terlalu besar dan pelayan tidak dapat mengendalikannya.
  • 414 URI Terlalu Panjang: URI yang diminta terlalu panjang dan pelayan tidak dapat mengendalikannya.
  • 415 Jenis Media Tidak Disokong: Pelayan tidak boleh mengendalikan format media yang dilampirkan pada permintaan.
  • Julat 416 Tidak Memuaskan: Julat yang diminta oleh pelanggan adalah tidak sah dan pelayan tidak boleh memprosesnya.
  • 417 Jangkaan Gagal: Pelayan tidak dapat memenuhi maklumat pengepala permintaan Expect.
  • 421 Permintaan Tersalah Arah: Permintaan ini adalah untuk pelayan yang tidak dapat menjana respons. Ini mungkin kerana sumber yang perlu diakses oleh permintaan ini tercemar atau tidak diterbitkan sepenuhnya, atau hanya tersedia pada mesin tempatan, faktor yang hanya terpakai kepada klien tertentu yang disambungkan ke rangkaian mereka.
  • 422 Entiti Tidak Boleh Diproses: Format permintaan adalah betul, tetapi ia tidak dapat bertindak balas kerana ralat semantik.
  • 423 Dikunci: Sumber semasa dikunci.
  • 424 Ketergantungan Gagal: Permintaan semasa gagal kerana konflik dengan permintaan sebelumnya.
  • 425 Terlalu Awal: Permintaan tidak boleh dipenuhi sehingga syarat yang diperlukan untuk memuatkan sumber dipenuhi.
  • 426 Peningkatan Diperlukan: Pelanggan harus bertukar kepada TLS/1.0.
  • 428 Prasyarat Diperlukan: Permintaan ini memerlukan prasyarat yang sah.
  • 429 Terlalu Banyak Permintaan: Terlalu banyak permintaan.
  • 431 Medan Pengepala Permintaan Terlalu Besar: Pengepala permintaan melebihi had saiz.
  • 451 Tidak Tersedia Atas Sebab Undang-undang: Permintaan tidak seharusnya diproses.
  • 500 Ralat Pelayan Dalaman: Pelayan mengalami ralat yang tidak diketahui.
  • 501 Tidak Dilaksanakan: Pelayan tidak menyokong ciri yang diminta oleh pelanggan.
  • 502 Bad Gateway: Pelayan, bertindak sebagai get laluan atau proksi, mengalami ralat semasa melaksanakan permintaan.
  • Perkhidmatan 503 Tidak Tersedia: Pelayan tidak dapat memproses permintaan buat sementara waktu dan boleh mengembalikan pengepala Cuba Selepas Semula kepada klien.
  • Tamat Masa Gerbang 504: Pelayan, bertindak sebagai get laluan atau proksi, gagal menerima respons daripada pelayan huluan tepat pada masanya semasa melaksanakan permintaan.
  • Versi HTTP 505 Tidak Disokong: Pelayan tidak menyokong versi protokol HTTP yang digunakan dalam permintaan.
  • Varian 506 Juga Berunding: Pelayan mempunyai ralat konfigurasi dalaman yang menyebabkan permintaan diproses untuk memenuhi lebih daripada satu respons yang boleh dirunding.
  • 507 Storan Tidak Mencukupi: Pelayan tidak boleh menyimpan kandungan yang diperlukan untuk melengkapkan permintaan.
  • Gelung 508 Dikesan: Pelayan mendapati dirinya tersekat dalam gelung tak terhingga semasa memproses permintaan.
  • 510 Tidak Dilanjutkan: Pelanggan perlu melanjutkan tindak balas dan pelayan tidak mempunyai penyelesaian yang sepadan.
  • Pengesahan Rangkaian 511 Diperlukan: Pelanggan perlu disahkan untuk menggunakan sumber rangkaian.

Ungkapan biasa PHP untuk memadankan kod status HTTP

Sekarang, mari cuba gunakan ungkapan biasa PHP untuk memadankan kod status HTTP. Dalam PHP, kita boleh menggunakan fungsi preg_match() untuk melaksanakan padanan ungkapan biasa. Berikut ialah contoh kod yang sepadan dengan kod status HTTP:

$status_code = '200'; // 要匹配的状态码
$pattern = '/^[1-5][0-9]{2}$/'; // HTTP状态码的正则表达式
if(preg_match($pattern, $status_code)) {
    echo '匹配成功!';
} else {
    echo '匹配失败!';
}

Dalam kod di atas, kami mula-mula mentakrifkan kod status untuk dipadankan sebagai 200, dan kemudian menentukan ungkapan biasa kod status HTTP sebagai "/ ^ 1-5{2}$/". Ungkapan biasa ini boleh memadankan 3 digit, digit pertama mestilah 1~5, dan baki dua digit boleh 0~9. Akhir sekali, apabila menggunakan fungsi preg_match() untuk pemadanan, jika nilai pulangan ialah 1, ia bermakna perlawanan berjaya, dan jika nilai pulangan ialah 0, ia bermakna perlawanan gagal.

Jika anda ingin memadankan berbilang kod status HTTP, anda boleh menggunakan fungsi preg_match_all(). Berikut ialah contoh kod yang sepadan dengan semua kod status HTTP:

$status_codes = array('200', '404', '500'); // 要匹配的状态码数组
$pattern = '/^[1-5][0-9]{2}$/'; // HTTP状态码的正则表达式
foreach($status_codes as $status_code) {
    if(preg_match($pattern, $status_code)) {
        echo $status_code.' 匹配成功!'."
";
    } else {
        echo $status_code.' 匹配失败!'."
";
    }
}

Dalam kod di atas, kami mula-mula mentakrifkan tatasusunan kod status untuk dipadankan, dan kemudian menggunakan foreach() untuk menggelung melalui tatasusunan. Dalam gelung, kami menggunakan fungsi preg_match() untuk melaksanakan pemadanan dan mengeluarkan hasil padanan berdasarkan nilai pulangan.

Ringkasan

Kod status HTTP ialah konsep yang sangat penting dalam pembangunan tapak web. Kadangkala, kita perlu memadankan kod status HTTP melalui ungkapan biasa. Dalam PHP, kita boleh menggunakan fungsi preg_match() untuk melaksanakan padanan ungkapan biasa. Saya berharap melalui artikel ini, anda boleh menguasai kemahiran memadankan kod status HTTP dengan ungkapan biasa PHP.

Atas ialah kandungan terperinci Ungkapan biasa PHP dalam tindakan: memadankan kod status HTTP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn