Junior
HTTP durum kodlarından bahset.
sobes.tech yapay zeka
AI'dan gelen yanıt
HTTP durum kodları, istemcinin isteğine yanıt olarak sunucu tarafından döndürülen üç basamaklı tam sayılardır. İstek sonucunu gösterirler ve beş sınıfa ayrılırlar:
- 1xx Bilgilendirici: İstek alındı ve işlem devam ediyor.
100 Continue: Sunucu isteğin başlangıç kısmını aldı ve istemci kalan kısmı göndermeye devam edebilir.101 Switching Protocols: Sunucu, istemcinin talep ettiği protokol değişikliğini anlar ve gerçekleştirmeye hazırdır.
- 2xx Başarılı: İstek başarıyla işlendi, anlaşıldı ve kabul edildi.
200 OK: HTTP istekleri için standart başarılı yanıt.201 Created: İstek tamamlandı ve yeni bir kaynak oluşturuldu.204 No Content: Sunucu isteği başarıyla işledi, ancak yanıt gövdesi yok.
- 3xx Yönlendirme: İsteğin tamamlanması için ek işlemler gerekebilir.
301 Moved Permanently: İstenen kaynak kalıcı olarak yeni bir URI'ye taşındı.302 Found: İstenen kaynak geçici olarak başka bir URI'ye taşındı.304 Not Modified: Kaynak, son gönderimden bu yana değişmedi.
- 4xx İstemci Hataları: İstek sözdizimsel bir hata içeriyor veya gerçekleştirilemiyor.
400 Bad Request: Sunucu, geçersiz sözdizimi nedeniyle isteği anlayamadı.401 Unauthorized: Kayda erişim için kimlik doğrulama gerekir.403 Forbidden: Sunucu isteği anladı, ancak yetki vermiyor.404 Not Found: Sunucu, istenen kaynağı bulamıyor.
- 5xx Sunucu Hataları: Sunucu, düzgün biçimlendirilmiş bir isteği doğru şekilde işleyemedi.
500 Internal Server Error: İşlem sırasında genel sunucu hatası.502 Bad Gateway: Bir ara sunucu veya proxy olarak çalışan sunucu, üst sunucudan geçersiz bir yanıt aldı.503 Service Unavailable: Sunucu, geçici aşırı yükleme veya bakım nedeniyle şu anda isteği işleyemiyor.
Testlerde kullanım örnekleri:
- API Testleri: Döndürülen durum kodlarının beklenenlerle uyumlu olup olmadığının kontrolü (örneğin, başarılı veri alma için
200 OK, olmayan kaynaklar için404 Not Found). - Web uygulaması testleri: Yönlendirmelerin kontrolü (
3xxdurum kodları), kullanıcı giriş hataları (4xxdurum kodları), yük altında hizmetlerin çalışabilirliği (503).
Python'da requests kullanarak durum kodunun kontrolü örneği:
import requests
url = "https://www.example.com"
response = requests.get(url)
# İsteğin başarılı olup olmadığını kontrol et (durum kodu 2xx)
if response.status_code == 200:
print("İstek başarıyla tamamlandı.")
else:
print(f"İstek sırasında hata oluştu. Durum kodu: {response.status_code}")