HTTP Durum Kodu Sorgulama nedir?
HTTP durum kodları, bir web sunucusunun her yanıtla birlikte geri gönderdiği üç haneli sayılardır; istemciye (tarayıcı, uygulama veya API tüketicisi) isteğin başarılı olup olmadığını, yönlendirme gerektirip gerektirmediğini veya başarısız olup olmadığını — ve nedenini — söyler. IETF tarafından standartlaştırılmışlardır ve her web sunucusunda, tarayıcıda ve programlama dilinde aynı şekilde kullanılırlar; bu da onları yazılım geliştirmede en evrensel hata ayıklama başvurularından biri yapar.
Bu sorgulama aracı, beş kategorinin tümündeki en yaygın kodları kapsar — bilgilendirme (1xx), başarı (2xx), yönlendirme (3xx), istemci hatası (4xx) ve sunucu hatası (5xx) — her birinin pratikte gerçekte ne anlama geldiğine dair yalnızca resmî RFC tanımını değil, sade bir dille açıklamalar sunar.
Bu Hesap Makinesi Ne Zaman Kullanılmalı
- Bir isteğin başarısız olduğu ve durum kodunun gerçekte ne anlama geldiğini anlamanız gereken bir API entegrasyonunda hata ayıklarken
- Belirli bir hata koşulu için kendi API'nizden hangi HTTP durum kodunu döndüreceğinize karar verirken
- Bir web geliştirme kursu veya bootcamp'inde HTTP temellerini öğretirken veya öğrenirken
- Farklı 4xx ve 5xx durumlarını ayırt etmesi gereken hata işleme middleware'i yazarken
- 301 mi yoksa 302 mi döndürüldüğünü kontrol ederek bir yönlendirmenin neden çalışmadığını araştırırken
- Tarayıcının bir ağ hatası gösterdiği ancak sunucunun 200 döndürdüğü CORS sorunlarını giderirken
Adımlar:
- Arama kutusuna bir durum kodu (404 gibi) veya bir anahtar kelime ("forbidden" gibi) yazın.
- Belirli bir aralığa göz atmak istiyorsanız 1xx-5xx düğmelerini kullanarak kategoriye göre filtreleyin.
- Kodun ne anlama geldiğini ve genellikle ne zaman döndürüldüğünü açıklayan sade dili okuyun.
- API yanıtlarında hata ayıklarken veya hata işleme oluştururken bunu hızlı bir başvuru olarak kullanın.
Formül
1xx: Bilgilendirme — istek alındı, işlem sürüyor
2xx: Başarı — istek başarıyla alındı ve kabul edildi
3xx: Yönlendirme — isteği tamamlamak için ileri işlem gerekli
4xx: İstemci Hatası — istek hatalı sözdizimi içeriyor veya yerine getirilemiyor
5xx: Sunucu Hatası — sunucu geçerli bir isteği yerine getiremedi
Kullanım Alanları
- Entegre ettiğiniz bir API tarafından döndürülen yabancı bir durum kodunu hızla anlamak
- Belirli bir hata koşulu için kendi API'nizden hangi durum kodunu döndüreceğinize karar vermek
- Belirli bir kodun gerçekte neyi ima ettiğini kontrol ederek bir isteğin neden başarısız olduğunu hata ayıklamak
- Bir web geliştirme kursunda HTTP temellerini öğretmek veya öğrenmek
- Farklı 4xx ve 5xx durumlarını ayırt eden doğru hata işleme mantığı yazmak
Temel Faydalar
- Sık kullanılan tüm durum kodları tek bir aranabilir başvuruda
- Yalnızca resmî RFC ifadeleri değil, sade dilde açıklamalar
- Kategoriye göre anında filtreleme (1xx'ten 5xx'e)
- Ücretsiz, hızlı, kayıt gerekmez
Uzman İpuçları
- 5xx kodlarını yalnızca sunucu tarafı hataları için saklayın — istemci giriş hatalarını belirtmek için asla kullanmayın
- Hız sınırlaması uygularken 429'u bir Retry-After başlığıyla kullanın; böylece iyi davranışlı istemciler ne zaman yeniden deneyeceklerini bilir
- Bir kaynak gerçekten mevcut olmadığında genel bir hata sayfası yerine 404'ü tercih edin — hem kullanıcılar hem arama motorları için daha iyidir
- Bir API tasarlarken her şeyi genel bir 400'e varsayılan olarak ayarlamak yerine belirli 4xx kodlarını (422, 409, 400) seçin
Kaçınılması Gereken Yaygın Hatalar
- Aslında başarısız olan bir istek için 200 OK döndürmek, hataları izleme araçlarından gizlemek
- 401'i (kimliği doğrulanmamış) 403'le (kimliği doğrulanmış ancak yetkisiz) karıştırmak
- Kalıcı olması gereken bir yönlendirme için (301) 302 kullanmak ve SEO'ya zarar vermek
- İstemci tarafı hata işlemede belirli koda göre ayrıştırmak yerine tüm 4xx ve 5xx hatalarını aynı şekilde ele almak
Anahtar Terimler Açıklandı
- Durum satırı: Durum kodunu ve kısa bir açıklama ifadesini içeren HTTP yanıtının ilk satırı
- Idempotent: Aynı isteğin tekrarlanmasının tek kez yapılmasıyla aynı etkiye sahip olduğu bazı HTTP yöntemlerinin bir özelliği
- Yönlendirme zinciri: Bir tarayıcının son kaynağa ulaşmadan önce izlediği birden çok yönlendirme dizisi
- Hız sınırlama: Bir istemcinin belirli bir zaman penceresinde yapabileceği istek sayısını kısıtlama; genellikle 429 ile belirtilir
İlgili Kavramlar
- JSON Biçimlendirici:
- JSON Doğrulayıcı:
- Regex Test Edici:
- URL Kodlayıcı/Kod Çözücü:
- Base64 Kodlayıcı/Kod Çözücü:
Örnek
"429" araması "Too Many Requests" sonucunu döndürür — API'lerin bir hız sınırını aştığınızda döndürdüğü kod; size yavaşlamanızı ve bir gecikmenin ardından yeniden denemenizi söyler.
Sonuçlarınızı Yorumlama
HTTP durum kodları ilk hanelerine göre beş sınıfa ayrılır. 1xx bilgilendiricidir ve uygulama kodunda nadiren görülür. 2xx başarıyı doğrular — 200 OK en yaygın olanıdır, ancak 201 Created ve 204 No Content de REST API'lerinde sıktır. 3xx yönlendirmeyi yönetir; en önemlileri 301 (kalıcı) ve 302 (geçici) şeklindedir.
4xx hataları, istemcinin isteğinde bir sorun olduğunu gösterir. En yaygın olanları 400 Bad Request (hatalı sözdizimi), 401 Unauthorized (kimliği doğrulanmamış), 403 Forbidden (yetkisiz), 404 Not Found (kaynak mevcut değil) ve 429 Too Many Requests'dir (hız sınırı aşıldı). Belirli 4xx kodlarının doğru kullanımı, API'nizi her şey için genel bir 400 döndürmekten çok daha kolay hata ayıklanabilir kılar.
5xx hataları sunucunun başarısız olduğu anlamına gelir. 500 genel iç hata, 502 Bad Gateway yukarı akış sunucusunda bir sorun olduğunu belirtir ve 503 Service Unavailable genellikle sunucunun aşırı yüklü veya bakım için kapalı olduğu anlamına gelir. 5xx hatalarında hata ayıklarken istemci tarafı yanıtı yerine sunucu günlüklerini kontrol edin, çünkü durum kodu tek başına kök nedeni nadiren ortaya çıkarır.

