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 edin. Serverin istifadəçiyə yaşıl işıq yandırdığı HTTP cavab kodu, ona təhlükəsiz şəkildə böyük sorğu göndərməyə davam etməyə imkan verir.
101 Kommutasiya Protokolları. Server müştəriyə oyunun 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 “Upgrade” başlığı istifadə olunur.
102 Emal. Bu kod serverin sorğunu qəbul etdiyi, lakin hələ də mürəkkəb əməliyyatla məşğul olduğu mesajı kimidir.
103 İlkin göstərişlər. Burada server əsas cavabdan əvvəl müştəriyə bir neçə indikativ başlıq göndərir, yaxın gələcəkdə aktual ola biləcək bir şey haqqında 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 sorğunu GET metodu ilə problemsiz emal etdikdə və cavab olaraq tələb olunan məlumatları qaytardıqda istifadə olunur. "Məzmun növü" başlığı cavabdakı məzmun növünü bildirir. Bu, sadəcə müştəriyə sorğunun uğurlu olduğunu bildirir.
201 yaradılmışdır. Burada server yeni resursun yaradılmasını elan edir.
202 qəbul edildi. Server istifadəçiyə sorğunun qəbul edildiyini bildirir, lakin cavab vermək üçün vaxt lazımdır.
203 Səlahiyyətli olmayan 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 heç bir əlavə məzmunu qaytarmır.
205 Məzmunu Sıfırla. Burada müştəriyə göndərildikdən sonra cari görünüşü və ya məlumatları yenidən qurmaq 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. "Content-Range" başlığı qismən məzmun aralığını göstərir.
207 Çox statuslu. Server müştəridən çox əməliyyat tələbini uğurla yerinə yetirdi və cavabda hər bir əməliyyatın vəziyyəti haqqında məlumat var.
226 IM İstifadə olunub. Bu kod serverin Artan Metadata (IM) metodundan istifadə etdiyini və müştəriyə yalnız dəyişdirilmiş resurs hissələrini ö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 Çox Seçim. Müştəri resurs üçün bir neçə mümkün yerin olması barədə siqnal alır və ona cavab olaraq seçim verilir. Cari şəraitdə "Yer" başlığı resurs üçün alternativ variantları göstərə bilər.
301 Daimi köçürülüb. 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 başqa bir URL-də mövcud olduğunu bildirir. "Məkan" başlığı müvəqqəti yönləndirmə üçün yeni URL-yə işarə edir.
303 Digərlərinə baxın. Müştəriyə bildirilir ki, resurs başqa URL-də mövcuddur və bu yeni ünvana GET sorğusu göndərməlidir.
304 dəyişdirilməyib. Bu status müştəriyə resursun sonuncu sorğudan bəri dəyişməz qaldığını və yenidən endirilməsinə ehtiyac olmadığını bildirir. Sorğu edərkən, resursun dəyişdirilib-dəyişdirilmədiyini yoxlamaq üçün "Əgər-Modified-Since" başlığı istifadə olunur.
305 Proksidən istifadə edin. Cavab olaraq, server tələb olunan resursa daxil olmaq üçün göstərilən proxy-dən istifadə etməli olduğunu bildirir.
306 (ehtiyat) — Kod rezerv edilib, amma əslində istifadə edilmir.
307 Müvəqqəti Yönləndirmə. Bu kod 302 Found koduna bənzəyir, lakin müştəridən orijinal sorğuda istifadə edilmiş sorğu metodunda qalmasını tələb edir.
308 Daimi Yönləndirmələr. 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 Bad Request. Server sintaksis xətaları, etibarsız məlumatlar və ya müştəri tərəfindəki digər xətalar səbəbindən sorğunu emal edə bilmir.
401 İcazəsiz. Server sintaksis xətaları, etibarsız məlumatlar və ya müştəri tərəfindəki digər xətalar 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. Gələcəkdə resursa daxil olmamışdan əvvəl ödəmə ehtiyacını 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üquqları 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 üsulu icazə verilmir. Server bu resurs zamanı 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 edilə bilməz. Server müştəri tərəfindən qəbul edilə bilən formatda məlumatları təmin edə bilməz.
407 Proksi Doğrulaması Tələb olunur. Tələb olunan resursa daxil olmaq üçün proxy serverdə autentifikasiya tələb olunur.
408 Sorğunun vaxtı. Server müştəridən sorğu almağı gözləyirdi, lakin vaxtı bitdi. "Yenidən cəhd et" başlığı sorğunun təkrar sınana biləcəyi vaxtı göstərə bilər.
409 Münaqişə. Sorğu hazırkı resurs vəziyyəti ilə ziddiyyətə görə 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 Uzunluq Tələb olunur. Server sorğuda məzmun uzunluğunu müəyyən etməyi tələb edir; bu məlumatın olmaması səhv hesab olunur.
412 İlkin şərt uğursuz oldu. Sorğunun yerinə yetirilməsinə mane olan ilkin şərt yerinə yetirilmir.
413 Yük çox böyükdür. Sorğu məlumatının ölçüsü server məhdudiyyətlərini aşır.
414 URI çox uzun. Sorğuda URI uzunluğu məqbul hədləri keçir.
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 Diapazon Qənaətbəxş deyil. Tələb olunan aralığın cari server məlumatlarına uyğun gəlmədiyi HTTP xətası.
417 Gözləmə uğursuz oldu. "Gözləyin" 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əti nəzərdə tutmur və tam hüquqlu xəta deyil. Bu onu göstərir ki, server çaydandır və kofe hazırlamaq iqtidarında deyil.
421 Səhv yönləndirilmiş sorğu. Sorğu və ya server konfiqurasiyasındakı xəta səbəbindən server sorğunu emal etmir.
422 İşlənə bilməyən obyekt. Server sorğunu başa düşür, lakin məlumat xətalarına görə onu emal etmir.
423 Bağlanıb. Resurs bloklanıb və emal edilə bilməz.
424 Uğursuz Asılılıq. Sorğu başqa bir icra olunmamış sorğudan asılıdır.
425 Çox erkən. Erkən gəldiyi üçün server sorğunu emal etməyə hazır deyil.
426 Təkmilləşdirmə Tələb olunur. Sorğunu emal etmək üçün server daha təkmil protokolun istifadəsini tələb edir.
428 İlkin şərt tələb olunur. Server sorğuda müəyyən ilkin şərtlərin göstərilməsini tələb edir.
429 Çox Çox 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çüsü keçir.
449 ilə yenidən cəhd edin. Sorğunun cari server tərəfindən icra edilə bilməyəcəyini, lakin başqa server tərəfindən uğurla emal oluna biləcəyini və müştərinin sorğunu yeni URI ilə yenidən cəhd etməli olduğunu göstərir.
451 Hüquqi səbəblərə görə əlçatmaz. Hüquqi səbəblərə görə resurs əlçatan deyil.
499 Müştəri Qapalı Sorğu. Server sorğunu qəbul etdi, lakin emal tamamlanmazdan ə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 İcra olunmur. 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 o deməkdir ki, proksi kimi fəaliyyət göstərən server başqa serverdən yanlış cavab alıb.
HTTP səhv 503 Xidməti mövcud deyil. Server müvəqqəti olaraq sorğuları emal edə bilmir.
504 Gateway vaxtı çatdı. Proksi kimi fəaliyyət göstərən server başqa serverdən vaxtında cavab almadı.
505 HTTP versiyası dəstəklənmir. Server sorğuda göstərilən HTTP protokolu versiyasını dəstəkləmir. Yedəkləmə seçimi olaraq, "Yüksəl" başlığı dəstəklənən protokolları göstərə bilər.
506 Variant Həmçinin Danışıqlar aparır. Bu status HTTP/1.1-də istifadə edilmir; lakin, server məzmun danışıqlarında qeyri-müəyyənliklə nəticələnən daxili konfiqurasiya aşkar edərsə, bu cavabdan istifadə edə bilər.
507 Yaddaş qeyri-kafi. Serverdə kifayət qədər yaddaş sahəsi olmadığı üçün server sorğunu yerinə yetirə bilmir.
508 Döngə Aşkarlandı. Sorğunu emal edərkən server döngə aşkar etdi və sonsuz döngədən qaçmaq üçün sorğunu tamamlamaqdan imtina edir.
509 Bant Genişliyi Limiti keçdi. Səhv, sorğuların və ya trafikin yüksək həcminə görə serverin bant genişliyi aşıldığında baş verir.
510 Genişləndirilməyib. Müştəri sorğunu davam etdirmək üçün əlavə genişləndirmələri köçürməlidir.
511 Şəbəkə Doğrulaması Tələb olunur. Müştəri şəbəkəyə giriş əldə etmək üçün özünü təsdiq etməlidir.
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 səhifənin status kodunu yoxlamaq üçün alətlər təqdim edən çoxlu sayda müstəqil onlayn xidmətlər var. Bu xidmətlər adətən sizə resursunuzun mövcudluğu və fəaliyyəti haqqında qısa məlumat əldə etməyə imkan verir. Onların hamısı eyni prinsiplə fəaliyyət göstərir. Nümunə olaraq, ən populyar resursu nəzərdən keçirəcəyik - httpsstatus.io
Ə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.