Sobes.tech
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}")