HTTP Durum Kodlarını Anlama: Tam Kılavuz
Bir web sitesini her ziyaret ettiğinizde, tarayıcınız ve sunucu sessizce HTTP durum kodlarını kullanarak iletişim kurar. Bu üç haneli sayılar, isteğinizin başarılı olup olmadığını, bir sorun olup olmadığını veya yapmanız gereken başka bir şey olup olmadığını söyler. Bu kodları anlamak, web geliştiricileri, SEO uzmanları ve çevrimiçi deneyimlerinin nasıl çalıştığını bilmek isteyen herkes için çok önemlidir.
HTTP Durum Kodları Nedir?
HTTP durum kodu, bir web sunucusunun tarayıcınızın isteğine yanıt olarak döndürdüğü üç haneli bir sayıdır. İsteğin sonucunu gösterir: başarılı oldu mu, yönlendirildi mi, yoksa başarısız mı oldu. Durum kodları, her biri belirli bir yanıt türünü temsil eden beş kategoriye ayrılır.
| Kategori | Aralık | Anlam |
|---|---|---|
| 1xx | 100-199 | Bilgi - İstek alındı, işleniyor |
| 2xx | 200-299 | Başarı - İstek başarıyla alındı ve işlendi |
| 3xx | 300-399 | Yönlendirme - İsteği tamamlamak için ek işlem gerekli |
| 4xx | 400-499 | İstemci Hatası - İstek hatalı veya yerine getirilemiyor |
| 5xx | 500-599 | Sunucu Hatası - Sunucu geçerli bir isteği yerine getiremedi |
Durum Kodu Kategorileri
Bu kodlar, RFC 7231 tarafından standartlaştırılmıştır ve tüm web sunucuları ve tarayıcılar tarafından evrensel olarak kullanılır. Bir web sitesine eriştiğinizde, tarayıcınız sunucuya bir HTTP isteği gönderir ve sunucu bir durum koduyla yanıt verir. Bu kod, tarayıcıya bundan sonra ne yapması gerektiğini söyler.
- Sunucu günlüklerini kontrol edin: Sunucu günlükleri, hata oluştuğunda tam olarak ne olduğunu gösterir. Yığın izleri, istek ayrıntıları ve zaman damgalarını arayın.
- Tarayıcı Geliştirici Araçlarını kullanın: Ağ sekmesi, durum kodları, başlıklar ve yanıt süreleri dahil tüm HTTP isteklerini ve yanıtlarını gösterir.
- Yönlendirme zincirlerini inceleyin: Çok fazla yönlendirme, yanlış yapılandırılmış yönlendirme kurallarına işaret edebilir. Zincirdeki her adımı kontrol edin.
1xx: Bilgi
Durum kodları, her biri farklı bir amaca hizmet eden beş kategoriye ayrılır:
- İzinleri doğrulayın: 401 ve 403 hataları, yetkilendirme yapılandırmasını kontrol etmeniz gerektiğini gösterir: API anahtarları, JWT belirteçleri veya oturum çerezleri.
- İstek yükünü kontrol edin: 400 hataları genellikle hatalı biçimlendirilmiş istek gövdelerinden kaynaklanır. İstek yapısını ve veri türlerini doğrulayın.
- Hız sınırlamasına dikkat edin: 429 (Çok Fazla İstek), hız sınırlarını aştığınız anlamına gelir. Üstel geri çekilme ile yeniden deneme mantığı uygulayın.
- 206 Partial Content: The server is delivering only part of the resource, used for large file downloads and video streaming.
2xx: Başarı
1xx durum kodları, isteğin alındığını ve işlemin devam ettiğini gösterir. Bunlar geçici yanıtlardır ve günlük taramada nadiren görülür.
- 301 Moved Permanently: The resource has permanently moved to a new URL. Search engines transfer link equity to the new URL. This is the most important redirect for SEO.
- 302 Found: The resource is temporarily at a different URL. Search engines typically keep the original URL indexed. Use this for temporary moves only.
- 304 Not Modified: Indicates that the cached version of the resource is still valid. This saves bandwidth by avoiding unnecessary data transfers.
- 307 Temporary Redirect: Similar to 302 but guarantees that the HTTP method will not change. More reliable than 302 for technical implementations.
- 308 Permanent Redirect: Similar to 301 but guarantees the HTTP method will not change. The modern alternative to 301 for permanent redirects.
3xx: Yönlendirme
2xx durum kodları, isteğin başarıyla alındığını, anlaşıldığını ve kabul edildiğini gösterir. Bunlar, bir web sitesini ziyaret ettiğinizde görmek istediğiniz kodlardır.
- 400 Bad Request: The server cannot process the request due to malformed syntax. Check your request parameters and headers.
- 401 Unauthorized: Authentication is required and has either not been provided or has failed. The user needs to log in.
- 403 Forbidden: The server understood the request but refuses to authorize it. Unlike 401, authentication will not help.
- 404 Not Found: The requested resource does not exist on the server. This is the most common error code and has significant SEO implications if not handled properly.
- 405 Method Not Allowed: The request method (GET, POST, PUT, etc.) is not supported for the requested resource.
- 429 Too Many Requests: The user has sent too many requests in a given time period. This is rate limiting, commonly used by APIs.
4xx: İstemci Hataları
3xx durum kodları, isteği tamamlamak için istemcinin ek işlem yapması gerektiğini gösterir. Genellikle URL yönlendirmelerini içerirler.
- 500 Internal Server Error: A generic error message when the server encounters an unexpected condition. Check server logs for the root cause.
- 502 Bad Gateway: The server was acting as a gateway and received an invalid response from the upstream server. Common with reverse proxies and CDNs.
- 503 Service Unavailable: The server is temporarily unable to handle the request, usually due to maintenance or overload. Use the Retry-After header to indicate when to try again.
- 504 Gateway Timeout: The server was acting as a gateway and did not receive a timely response from the upstream server.
5xx: Sunucu Hataları
4xx durum kodları, isteğin istemci tarafı hatası nedeniyle başarısız olduğunu gösterir. En yaygın nedenler yanlış URL'ler, yetkilendirme sorunları veya erişim kısıtlamalarıdır.
- Check the status code: Identify whether it is a client error (4xx) or server error (5xx).
- Review server logs: For 5xx errors, server logs contain the stack trace and error details.
- Inspect request headers: Use browser developer tools to verify that your request includes correct headers, cookies, and authentication tokens.
- Test with curl: Reproduce the request using curl to isolate whether the issue is with the client or server.
- Check recent changes: Deployments, configuration updates, or DNS changes often cause status code errors.
5xx durum kodları, geçerli bir isteğe rağmen sunucunun isteği yerine getiremediğini gösterir. Bunlar, geliştiricilerin araştırması ve düzeltmesi gereken sunucu tarafı sorunlarıdır.
HTTP Durum Kodu DenetleyicisiHata Ayıklama İpuçları
En Popüler Durum Kodları
HTTP durum kodlarını mı kontrol ediyorsunuz? Herhangi bir URL'nin durum kodunu, yönlendirme zincirini ve yanıt başlıklarını kontrol etmek için ücretsiz HTTP durum kodu denetleyicimizi kullanın.
HTTP durum kodu nedir?
HTTP durum kodu, bir web sunucusunun istemcinin isteğine yanıt olarak döndürdüğü üç haneli bir sayıdır. İsteğin sonucunu gösterir: başarılı, yönlendirilmiş veya başarısız. Durum kodları beş kategoriye ayrılır: 1xx (Bilgi), 2xx (Başarı), 3xx (Yönlendirme), 4xx (İstemci Hatası) ve 5xx (Sunucu Hatası).
En yaygın HTTP durum kodları nelerdir?
En sık karşılaşılan durum kodları şunlardır: 200 (OK - başarılı istek), 301 (Kalıcı Yönlendirme), 302 (Geçici Yönlendirme), 400 (Kötü İstek), 401 (Yetkisiz), 403 (Yasak), 404 (Bulunamadı), 500 (Dahili Sunucu Hatası) ve 503 (Servis Kullanılamıyor).
404 ve 410 arasındaki fark nedir?
404 (Bulunamadı) ve 410 (Gone), bir kaynağın bulunamadığını gösterir, ancak 410, kaynağın kasıtlı olarak kaldırıldığını ve geri gelmeyeceğini belirtir. Arama motorları 410'u 404'ten farklı şekilde ele alır, 410'u indeksten daha hızlı kaldırır.
500 hatası nasıl düzeltilir?
500 hatası sunucu tarafı bir sorundur, yani site sahibinin düzeltmesi gerekir. Bir kullanıcı olarak, sayfayı yenilemeyi, daha sonra tekrar denemeyi veya site yöneticisiyle iletişime geçmeyi deneyebilirsiniz. Geliştiriciler sunucu günlüklerini kontrol etmeli, hata izleme araçlarını kullanmalı ve son kod değişikliklerini gözden geçirmelidir.