Veb inkişafı dünyasında HTTP səhv kodları istifadəçi təcrübəsinə və veb-saytın nüfuzuna təsir etməkdə mühüm rol oynayır. Bu yazıda biz server xəta kodlarının tam siyahısını nəzərdən keçirəcəyik, onların mənalarını təhlil edəcəyik və problemləri həll etmək və veb proqramların işini optimallaşdırmaq üçün server cavab kodlarını necə effektiv şərh edəcəyimizi öyrənəcəyik.
HTTP cavab kodu nədir
HTTP cavab kodu brauzer sorğularını başa düşülən təlimatlara çevirən veb serverlərin dilidir. Sanki şair virtual suallara cavab verir, onlara məna və istiqamət verir. Cavab kodları həmişə HTTP xəta kodları deyil. Məsələn, “200 OK” hər şeyin qaydasında olduğunu bildirir, lakin HTTP xətası “404 Tapılmadı” səhifənin virtual məkanda itməsi deməkdir. Hər bir kod server vəziyyətinin unikal ifadəsidir, onun dekodlanması virtual dünyanın digər tərəfində nə baş verdiyini anlamağa imkan verir.
1xx kodları (Məlumat)
HTTP protokolunda 1xx status kodları server və müştəri arasındakı dialoqda bir növ ilk əlaqədir. Sorğuya tam cavab vermək əvəzinə, onlar cari vəziyyət haqqında məlumat verir, məlumat mübadiləsini daha səmərəli edir. Gəlin onlara daha yaxından nəzər salaq:
100 Davam et . Serverin istifadəçiyə böyük bir sorğu göndərməyə təhlükəsiz şəkildə davam etməsinə icazə verdiyi HTTP cavab kodu.
101 Kommutasiya Protokolları . Server klientə oyun qaydalarını dəyişdirdiyini, məsələn, HTTP-dən daha təhlükəsiz HTTPS-ə keçdiyini bildirir. Bu halda, protokol dəyişikliyi üçün "Yeniləmə" başlığı istifadə olunur.
102 Emal olunur . Bu kod serverin sorğunu qəbul etdiyini, lakin hələ də mürəkkəb bir əməliyyatla məşğul olduğunu göstərən bir mesaj kimidir.
103 İlkin Məsləhətlər . Burada server əsas cavabdan əvvəl müştəriyə bir neçə göstərici başlıq göndərir və yaxın gələcəkdə aktual ola biləcək bir şey barədə xəbərdarlıq edir.
2xx kodu (Uğurlu)
2xx qrupundakı HTTP xəta kodları serverdən uğurlu sorğunu göstərir. Onlar mahiyyətcə veb-kommunikasiyalar sahəsində “yaşıl işıq” rolunu oynayır və hər şeyin plana uyğun getdiyini və uğurla tamamlandığını təsdiqləyir.
200 OK . Bu status, server GET metodu ilə sorğunu problemsiz emal etdikdə və tələb olunan məlumatları cavab olaraq qaytardıqda istifadə olunur. "Məzmun Növü" başlığı cavabdakı məzmun növünü bildirir. Sadəcə müştəriyə sorğunun uğurlu olduğunu bildirir.
201 Yaradıldı . Burada server yeni bir resursun yaradıldığını elan edir.
202 Qəbul edildi . Server istifadəçiyə sorğunun qəbul edildiyini bildirir, lakin cavab vermək üçün vaxt lazım olacaq.
203 Qeyri-səlahiyyətli Məlumat . Bu kod müştəriyə rəsmi olmayan, lakin müqayisə üçün istifadə edilə bilən məlumatlar təqdim edir.
204 Məzmun yoxdur . Server sorğunu emal etdi, lakin əlavə məzmun qaytarmır.
205 Məzmunu Sıfırla . Burada klientə göndərildikdən sonra cari görünüşü və ya məlumatları sıfırlamaq tapşırılır.
206 Qismən Məzmun . Bu hal cavabın tələb olunan məzmunun yalnız bir hissəsini ehtiva etdiyini göstərir. "Məzmun Aralığı" başlığı qismən məzmun aralığını göstərir.
207 Çox Vəziyyətli. Server klientdən gələn çox əməliyyatlı sorğunu uğurla tamamladı və cavabda hər bir əməliyyatın statusu haqqında məlumat var.
226 IM istifadə olunur . Bu kod serverin Artımlı Metadata (IM) metodundan istifadə etdiyini və yalnız dəyişdirilmiş resurs hissələrini klientə ötürməklə cavab verdiyini göstərir.
3xx kodları (Yönləndirmələr)
HTTP protokolundakı 3xx kodları istifadəçini yeni resurs yerinə yönləndirən göstəricilər kimidir. Onlar müştəriyə məlumat verirlər ki, tələb olunan məzmunu əldə etmək və ya başqa mənbəyə yönləndirmək üçün növbəti addımlar atılmalıdır. Onların hər birinin təfərrüatlarına girək:
300 Çoxsaylı Seçimlər . Müştəri resurs üçün bir neçə mümkün yerin olduğuna dair siqnal alır və cavab olaraq ona seçim verilir. Hazırkı şəraitdə "Yer" başlığı resurs üçün alternativ variantları göstərə bilər.
301 Daimi Köçürüldü. Server istifadəçiyə resursun daimi olaraq başqa yerə köçürüldüyünü bildirir.
302 Tapıldı . Bu HTTP kodu müvəqqəti yönləndirməyə bənzəyir. Server istehlakçıya resursun müvəqqəti olaraq fərqli bir URL-də mövcud olduğunu bildirir. "Yer" başlığı müvəqqəti yönləndirmə üçün yeni URL-ə işarə edir.
303 Digərinə baxın . Müştəriyə resursun fərqli bir URL-də mövcud olduğu və bu yeni ünvana GET sorğusu göndərməli olduğu bildirilir.
304 Modifikasiya edilməyib . Bu status klientə resursun son sorğudan bəri dəyişməz qaldığını və yenidən yüklənməsinə ehtiyac olmadığını bildirir. Sorğu edilərkən, resursun dəyişdirilib-dəyişdirilmədiyini yoxlamaq üçün "If-Modified-Since" başlığı istifadə olunur.
305 Proksi istifadə edin. Cavab olaraq, server tələb olunan resursa daxil olmaq üçün göstərilən proksidən istifadə etməli olduğunu bildirir.
306 (qorunmuş) — Kod qorunub saxlanılıb, amma əslində istifadə edilmir.
307 Müvəqqəti Yönləndirmə . Bu kod 302 Tapılmış koduna bənzəyir, lakin klientdən orijinal sorğuda istifadə edilən sorğu metodunda qalmasını tələb edir.
308 Daimi Yönləndirmə . Resursun yeni URI-yə daimi keçid etdiyini və müştərinin bütün gələcək sorğular üçün yeni URI-dən istifadə etməli olduğunu göstərir.
4xx HTTP Xətası (Müştəri xətaları)
HTTP 4xx səhv kodları müştəri səhvlərini göstərir. Bu o deməkdir ki, problem istifadəçi tərəfində, məsələn, veb brauzer və ya proqramdadır.
400 Yanlış Sorğu . Server sintaksis səhvləri, etibarsız məlumatlar və ya klient tərəfindəki digər səhvlər səbəbindən sorğunu emal edə bilmir.
401 İcazəsiz. Server, sintaksis səhvləri, etibarsız məlumatlar və ya klient tərəfindəki digər səhvlər səbəbindən sorğunu emal edə bilmir.
402 Ödəniş Tələb Olunur . Kod hazırda aktiv deyil və gələcək istifadə üçün qorunur. Bu, gələcəkdə resursa daxil olmaq üçün ödəniş etməyiniz lazım olduğunu göstərə bilər.
HTTP Xətası 403 Qadağandır. Müştərinin tələb olunan resursa daxil olmaq üçün kifayət qədər hüququ yoxdur.
404 Tapılmadı. Tələb olunan resurs serverdə mövcud deyil. Bu, ən çox yayılmış istifadəçi səhvlərindən biridir.
405 Metoduna İcazə Verilmir . Server bu resurs ərzində göstərilən sorğu metodunu dəstəkləmir. “İcazə Ver” başlığı resurs üçün icazə verilən metodları göstərir. Bu kodla,
406 Qəbul Edilmir. Server, klient tərəfindən qəbul edilə bilən formatda məlumat təqdim edə bilməz.
407 Proxy Doğrulama Tələb Olunur . Tələb olunan resursa daxil olmaq üçün proksi serverdə doğrulama tələb olunur.
408 Sorğu Zaman Aşımı . Server klientdən sorğu almağı gözləyirdi, lakin vaxtı bitdi. "Təkrar cəhddən sonra" başlığı sorğunun nə vaxtdan sonra təkrarlana biləcəyini göstərə bilər.
409 Münaqişə. Mövcud resurs vəziyyəti ilə ziddiyyət səbəbindən sorğu tamamlana bilməz.
410 Getdi . Tələb olunan resurs əvvəllər mövcud idi, lakin indi silinib və onun bərpası gözlənilmir.
411 Tələb Olunan Uzunluq . Server sorğuda məzmun uzunluğunu göstərməyi tələb edir; bu məlumatın olmaması səhv hesab olunur.
412 Ön şərt uğursuz oldu . Sorğudakı ön şərt yerinə yetirilmir və bu, onun icrasına mane olur.
413 Faydalı Yük Çox Böyükdür . Sorğu məlumatlarının ölçüsü server limitlərini aşır.
414 URI Çox Uzun . Sorğudakı URI uzunluğu məqbul limitləri aşır.
415 Dəstəklənməyən Media Növü . Server sorğuda göstərilən məlumat növünü emal edə bilmir.
416 Aralıq Qanadlandırıcı Deyil . Tələb olunan aralığın cari server məlumatları ilə uyğun gəlmədiyi HTTP xətası.
417 Gözləmə Uğursuz Oldu . "Gözləmək" başlığında gözlənilən şərt yerinə yetirilmədi.
418 Mən çaydanam . Bu kod zarafat kimi daxil edilib və istifadəçi və ya server üçün heç bir real hərəkət nəzərdə tutmur və tam hüquqlu bir səhv deyil. Bu, serverin çaydan olduğunu və qəhvə dəmləyə bilmədiyini göstərir.
421 Yanlış Yönləndirilmiş Sorğu . Sorğuda və ya server konfiqurasiyasında baş verən xəta səbəbindən server sorğunu emal etmir.
422 Emal Olunmayan Varlıq . Server sorğunu başa düşür, lakin məlumat səhvləri səbəbindən onu emal etmir.
423 Kilidlənib. Resurs bloklanıb və emal edilə bilməz.
424 Uğursuz Asılılıq . Sorğu icra edilməmiş başqa bir sorğudan asılıdır.
425 Çox Erkəndir. Server sorğunun tez gəlməsi səbəbindən onu emal etməyə hazır deyil.
426 Yeniləmə Tələb Olunur . Server sorğunu emal etmək üçün daha inkişaf etmiş bir protokoldan istifadə etməyi tələb edir.
428 Ön şərt tələb olunur . Server sorğuda müəyyən ön şərtlərin göstərilməsini tələb edir.
429 Çoxlu Sorğu . Müştəri qısa müddət ərzində serverin limitlərini aşaraq çoxlu sorğu göndərdi.
431 Sorğu Başlıq Sahələri Çox Böyükdür . Sorğu başlıqları icazə verilən maksimum ölçünü aşır.
449 Təkrar cəhd edin. Sorğunun cari server tərəfindən icra edilə bilməyəcəyini, lakin başqa bir server tərəfindən uğurla emal edilə biləcəyini və klientin sorğunu yeni bir URI ilə təkrar cəhd etməli olduğunu göstərir.
451 Hüquqi səbəblərə görə mövcud deyil . Resurs hüquqi səbəblərə görə mövcud deyil.
499 Müştəri Sorğusu Bağlandı . Server sorğunu aldı, lakin emal tamamlanmadan əvvəl əlaqə müştəri tərəfindən bağlandı.
HTTP 5xx xətası (Server xətaları)
HTTP 5xx xəta kodları server problemlərini göstərir. Bu kodlar server tərəfində yaranmış problemləri göstərir və server istifadəçinin sorğusunu düzgün şəkildə emal edə bilmir. Gəlin onlara daha yaxından nəzər salaq:
HTTP Xətası 500 Daxili Server Xətası . Server sorğunun tamamlanmasına mane olan gözlənilməz hallarla qarşılaşır. "Server" başlığı xətanın baş verdiyi serveri göstərə bilər.
501 Tətbiq olunmayıb . Server müştərinin sorğusunu emal etmək üçün tələb olunan funksionallığı dəstəkləmir. "Via" başlığı xətanın baş verdiyi proksi serveri göstərə bilər.
502 Bad Gateway . Bu kod, proksi kimi çıxış edən serverin başqa bir serverdən səhv cavab aldığı deməkdir.
HTTP Xətası 503 Xidməti Əlçatan deyil . Server müvəqqəti olaraq sorğuları emal edə bilmir.
504 Gateway Timeout . Proksi kimi fəaliyyət göstərən server başqa bir serverdən vaxtında cavab almadı.
505 HTTP Versiyası Dəstəklənmir . Server sorğuda göstərilən HTTP protokol versiyasını dəstəkləmir. Yedəkləmə seçimi olaraq, "Yeniləmə" başlığı dəstəklənən protokolları göstərə bilər.
506 Variant Həmçinin Danışıqlar Edir . Bu status HTTP/1.1-də istifadə olunmur; lakin, server məzmun danışıqlarının qeyri-müəyyənliyinə səbəb olan daxili konfiqurasiya aşkar edərsə, bu cavabdan istifadə edə bilər.
507 Yaddaş çatışmazlığı . Serverdə kifayət qədər yaddaş yeri olmadığı üçün sorğunu yerinə yetirə bilmir.
508 Döngə Aşkarlandı . Server sorğunu emal edərkən bir döngə aşkar etdi və sonsuz bir döngənin qarşısını almaq üçün sorğunu tamamlamaqdan imtina etdi.
509 Bant Genişliyi Limiti Aşıldı . Xəta, sorğuların və ya trafikin yüksək həcmi səbəbindən serverin bant genişliyi aşıldıqda baş verir.
510 Genişləndirilməyib . Müştəri sorğunu davam etdirmək üçün əlavə uzantılar köçürməlidir.
511 Şəbəkə Doğrulaması Tələb Olunur . Müştəri şəbəkəyə daxil olmaq üçün özünü doğrulamalıdır.
Səhifənin status kodunu necə yoxlamaq olar
Bu bölmədə biz səhifə status kodunu yoxlamağın üç əsas yolunu nəzərdən keçirəcəyik: komanda xətti, veb brauzerdən istifadə və müstəqil onlayn xidmətlərdən istifadə. Bu üsulların hər biri öz üstünlüklərinə malikdir və müxtəlif vəziyyətlərdə faydalı ola bilər.
Komanda xətti vasitəsilə server cavabı yoxlanılır
Komanda xətti veb brauzerdən istifadə etmədən səhifə status kodunu yoxlamaq üçün rahat bir yol təqdim edir. Bu üsul üçün əmr satırını açmalı və əmrdən istifadə etməlisiniz:
curl -I http://page-address
Bu əmr müəyyən edilmiş URL-ə HEAD sorğusu (yalnız başlıq sorğusu) göndərir və HTTP status kodu daxil olmaqla məlumatları göstərir:
Yuxarıdakı nümunə uğurlu cavab kodunu göstərir. 404 Tapılmadı HTTP xətası kimi xəta kodunu ehtiva edən cavab halında, nəticə oxşar görünəcək:
Brauzer konsolu vasitəsilə server cavabının yoxlanılması
Veb brauzerinin inkişaf etdirici konsolu səhifə status kodunun yoxlanılması da daxil olmaqla müxtəlif əməliyyatların aparılması üçün alətlər təqdim edir. Server cavabında HTTP kodunu görmək üçün istifadə olunan brauzerdən asılı olaraq tərtibatçı konsolunu (Ctrl+Shift+K) və ya (Ctrl+shift+J) açmalısınız. Sonra, "şəbəkə" bölməsini seçin və istədiyiniz səhifəni yükləyin:
Müstəqil vasitələrdən istifadə edərək server cavabının yoxlanılması
Veb sayt səhifəsinin status kodunu yoxlamaq üçün alətlər təqdim edən çox sayda müstəqil onlayn xidmət mövcuddur. Bu xidmətlər adətən resursunuzun mövcudluğu və performansı barədə tez bir zamanda ümumi məlumat almağa imkan verir. Hamısı eyni prinsiplə işləyir. Nümunə olaraq, ən populyar resursu - httpsstatus.io-nu nəzərdən keçirəcəyik.
Əvvəlcə xidmətin özünü açmalı, sonra cavab tapmaq üçün lazım olan səhifənin ünvanını daxil etməli və doğrulama tələb etməlisiniz:
Nəticə səhifənin aşağı hissəsində göstərilir:
Nəticə
Yekun olaraq vurğulamaq lazımdır ki, HTTP səhv kodlarını başa düşmək və oxuya bilmək veb inkişafı və serverə texniki xidmət göstərən hər kəs üçün əsas bacarıqdır. Hər bir səhvi anladıqca və onları aşkar etmək üçün alətləri araşdırdıqca, bu veb xidmətləri aspektlərini effektiv şəkildə idarə etməyin nə üçün bu qədər vacib olduğunun səbəblərini görürük.