Sobes.tech
Junior

HTTP vəziyyət kodları haqqında danış.

sobes.tech Süni İntellekt

AI-dan cavab

HTTP vəziyyət kodları, müştərinin sorğusuna cavab olaraq server tərəfindən qaytarılan üç rəqəmli nömrələrdir və sorğunun işlənmə nəticəsini göstərir. Onlar ilk rəqəmə görə təsnif edilir:

  • 1xx (Məlumatlandırıcı): Sorğu qəbul edildi, işləmə davam edir.
  • 2xx (Uğur): Sorğu uğurla qəbul edildi, başa düşüldü və qəbul edildi.
  • 3xx (Yönləndirmə): Sorğunu tamamlamak üçün əlavə tədbirlər tələb olunur.
  • 4xx (Müştəri Xətası): Sorğu sintaksis xətası ehtiva edir və ya icra edilə bilməz.
  • 5xx (Server Xətası): Server düzgün formalaşdırılmış sorğunu düzgün işlədə bilmədi.

Ən çox rast gəlinən kod nümunələri:

Kod Kateqoriya Dəyər Təsviri
100 Məlumatlandırıcı Continue Server sorğunun ilkin hissəsini aldı
200 Uğur OK Sorğu uğurla yerinə yetirildi
201 Uğur Created Sorğu yerinə yetirildi və yeni resurs yaradıldı
204 Uğur No Content Sorğu yerinə yetirildi, cavab bədən içermir
301 Yönləndirmə Moved Permanently Resurs daimi olaraq köçürülüb
302 Yönləndirmə Found (Temporarily Moved) Resurs müvəqqəti köçürülüb
304 Yönləndirmə Not Modified Resurs son sorğudan bəri dəyişməyib
400 Müştəri Xətası Bad Request Sorğunun sintaksisi yanlışdır
401 Müştəri Xətası Unauthorized Doğrulama tələb olunur
403 Müştəri Xətası Forbidden Resursa giriş qadağandır
404 Müştəri Xətası Not Found Verilən URL-də resurs tapılmayıb
405 Müştəri Xətası Method Not Allowed İstifadə olunan HTTP metodu icazə verilmir
500 Server Xətası Internal Server Error Daxili server xətası
502 Server Xətası Bad Gateway Yuxarı serverdən alınan cavab etibarsızdır
503 Server Xətası Service Unavailable Server müvəqqəti olaraq əlçatmazdır

Vəziyyət kodlarını bilmək, xətanın səbəbini anlamağa, sorğuları ayıklamağa və onların uğurlu olub-olmadığını müəyyən etməyə kömək edir. Test avtomatlaşdırmasında, API sorğularının gözlənilən nəticəsini yoxlamaq üçün tez-tez istifadə olunur.

import requests

url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)

# Uğurlu olub-olmadığını yoxlamaq (200 OK)
if response.status_code == 200:
    print("GET sorğusu uğurlu")
else:
    print(f"GET sorğusunda xəta: vəziyyət kodu {response.status_code}")

url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)

# Resurs tapılmadı mı yoxlamaq (404 Not Found)
if response_not_found.status_code == 404:
    print("Resurs tapılmadı (gözlənilən davranış)")
else:
    print(f"Gözlənilməz vəziyyət kodu alındı: {response_not_found.status_code}")