Junior
HTTP durum kodları hakkında bilgi ver.
sobes.tech yapay zeka
AI'dan gelen yanıt
HTTP durum kodları, istemci isteğine yanıt olarak sunucu tarafından döndürülen ve isteğin işlenme sonucunu gösteren üç basamaklı sayılardır. İlk rakama göre sınıflandırılırlar:
- 1xx (Bilgilendirici): İstek kabul edildi, işlem devam ediyor.
- 2xx (Başarı): İstek başarıyla alındı, anlaşıldı ve kabul edildi.
- 3xx (Yönlendirme): İsteğin tamamlanması için ek işlemler gereklidir.
- 4xx (İstemci Hatası): İstek sözdizimi hatası içeriyor veya işlenemiyor.
- 5xx (Sunucu Hatası): Sunucu düzgün biçimlendirilmiş isteği doğru şekilde işleyemedi.
En yaygın kod örnekleri:
| Kod | Kategori | Değer | Açıklama |
|---|---|---|---|
| 100 | Bilgilendirici | Continue | Sunucu, isteğin ilk bölümünü aldı |
| 200 | Başarı | OK | İstek başarıyla işlendi |
| 201 | Başarı | Created | İstek işlendi ve yeni bir kaynak oluşturuldu |
| 204 | Başarı | No Content | İstek işlendi ve yanıt gövdesi içermiyor |
| 301 | Yönlendirme | Moved Permanently | Kaynak kalıcı olarak taşındı |
| 302 | Yönlendirme | Found (Temporarily Moved) | Kaynak geçici olarak taşındı |
| 304 | Yönlendirme | Not Modified | Kaynak, son istekte değişmedi |
| 400 | İstemci Hatası | Bad Request | İstek sözdizimi hatası içeriyor |
| 401 | İstemci Hatası | Unauthorized | Kimlik doğrulama gerekiyor |
| 403 | İstemci Hatası | Forbidden | Kaynağa erişim engellendi |
| 404 | İstemci Hatası | Not Found | Belirtilen URL'deki kaynak bulunamadı |
| 405 | İstemci Hatası | Method Not Allowed | Kullanılan HTTP yöntemi izin verilmedi |
| 500 | Sunucu Hatası | Internal Server Error | Sunucu iç hatası |
| 502 | Sunucu Hatası | Bad Gateway | Üst sunucudan alınan yanıt geçersiz oldu |
| 503 | Sunucu Hatası | Service Unavailable | Sunucu geçici olarak kullanılamıyor |
Durum kodlarını bilmek, hatanın nedenini anlamaya, istekleri hata ayıklamaya ve işlemin başarı durumunu belirlemeye yardımcı olur. Test otomasyonunda, API isteklerinin beklenen sonucunu kontrol etmek için sıklıkla kullanılırlar.
import requests
url = "https://jsonplaceholder.typicode.com/posts/1"
response = requests.get(url)
# Başarılı olup olmadığını kontrol et (200 OK)
if response.status_code == 200:
print("GET isteği başarılı")
else:
print(f"GET isteği hatası: durum kodu {response.status_code}")
url_not_found = "https://jsonplaceholder.typicode.com/nonexistent"
response_not_found = requests.get(url_not_found)
# Kaynak bulunamadı mı kontrol et (404 Not Found)
if response_not_found.status_code == 404:
print("Kaynak bulunamadı (beklenen davranış)")
else:
print(f"Beklenmeyen durum kodu alındı: {response_not_found.status_code}")