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}")