Web’de bir siteye girerken, her isteğin ardında belirli bir HTTP (Hypertext Transfer Protocol) durum kodu bulunur. Bu kodlar, sunucunun isteği yerine getirme durumunu belirtir. Bunlar teknik görünebilir, ancak web siteleri ve web uygulamaları ile ilgileniyorsanız, bunların anlamlarını bilmek oldukça önemlidir.

HTTP Durum Kodu (Status Code) Nedir?

HTTP durum kodu, bir HTTP yanıtında sunucunun yanıt durumunu gösteren bir sayısal değerdir. Bir istemci (genellikle bir web tarayıcısı) bir sunucuya bir HTTP isteği gönderdiğinde, sunucu isteği işler ve bir HTTP yanıtı gönderir. Bu yanıtın bir parçası olarak, sunucu ayrıca bir durum kodu gönderir.

HTTP Durum Kodlarının Önemi

HTTP durum kodları, sunucuların ve istemcilerin (genellikle bir web tarayıcısı) web üzerinde iletişim kurmalarını sağlayan temel bir araçtır. Peki HTTP durum kodları neden önemlidir?

  1. Hata Tespiti ve Debugging: HTTP durum kodları, bir web sayfası yüklenirken veya bir API isteği yapılırken neler olduğunu belirtir. Bir hata durumunda, durum kodu genellikle sorunun ne olduğunu belirler. Örneğin, bir kullanıcı bir web sayfasını yüklemeye çalışıyorsa ve 404 Not Found durum kodunu alırsa, bu genellikle istenen URL’nin yanlış yazıldığı veya sayfanın artık mevcut olmadığı anlamına gelir.
  1. Sunucu Durumu Bildirimi: HTTP durum kodları, bir sunucunun isteğe yanıt verme durumunu belirtir. Bu, bir web geliştiricinin veya sistem yöneticisinin, örneğin bir hata durumunda, sunucunun sağlık durumunu izlemesine yardımcı olur.
  1. Yönlendirme: Bazı HTTP durum kodları, istemcinin bir kaynağı başka bir yerde araması gerektiğini belirtir. Örneğin, 301 Moved Permanently durum kodu, istenen kaynağın yeni bir URL’ye taşındığını ve istemcinin gelecekteki istekler için bu yeni URL’yi kullanması gerektiğini belirtir.
  1. Yetkilendirme: Bazı durum kodları, bir kullanıcının belirli bir kaynağa erişim yetkisi olup olmadığını belirtir. Örneğin, 403 Forbidden durum kodu, istemcinin istenen kaynağa erişim yetkisi olmadığını belirtir.

Bu nedenlerle, HTTP durum kodlarının anlaşılması ve doğru şekilde kullanılması, bir web sitesinin veya web uygulamasının düzgün çalışması için önemlidir. Kodlar ayrıca, bir kullanıcının bir site ile etkileşimini daha hızlı ve verimli hale getirmek için kullanılabilir.

HTTP Durum Kodları Nelerdir?

1xx – Bilgilendirici Durum Kodları

Bu kodlar geçici bir yanıtı belirtir. İstek alındı ve işlem devam ediyor.

100 Continue: İstek alındı, lütfen devam edin.

101 Switching Protocols: İstek doğrultusunda protokoller değişiyor.

2xx – Başarılı Durum Kodları

Bu kodlar, isteğin başarıyla alındığını, anlaşıldığını ve kabul edildiğini belirtir.

200 OK: İstek başarılıydı. İstek tipine bağlı olarak yanıt bilgisi değişebilir.

201 Created: İstek başarılı oldu ve yeni bir kaynak oluşturuldu.

204 No Content: İstek başarılı ama yanıtlayacak bir içerik yok.

3xx – Yönlendirme Durum Kodları

Bu kodlar, isteğin başka bir eylem için tamamlanması gerektiğini belirtir.

301 Moved Permanently: İstek edilen sayfa kalıcı olarak yeni bir URL’ye taşındı.

302 Found: İstek edilen sayfa geçici olarak başka bir yerde.

304 Not Modified: İstemcinin önbellekteki sürümü güncel, bu yüzden istemci sayfayı tekrar indirmesine gerek yok.

4xx – İstemci Hatası Durum Kodları

Bu kodlar, istemciden kaynaklanan bir hatayı belirtir.

400 Bad Request: Sunucu isteği anlamadı.

401 Unauthorized: İstek için yetkilendirme gerekli.

403 Forbidden: İstek anlaşıldı ama yetki reddedildi.

404 Not Found: İstek edilen kaynak bulunamadı.

5xx – Sunucu Hatası Durum Kodları

Bu kodlar, sunucuda bir hata olduğunu belirtir.

500 Internal Server Error: Belirsiz bir sunucu hatası.

502 Bad Gateway: Sunucu, geçerli bir yanıt almak için bir üst düzey sunucu olarak hareket ederken geçersiz bir yanıt aldı.

503 Service Unavailable: Sunucu geçici olarak isteği işleyemez.

HTTP Durum Kodları Nasıl Kontrol Edilir?

HTTP durum kodunu kontrol etmek için birçok araç vardır. Tarayıcılarınıza kuracağınız eklentiler ile, sunucu logları ile, debugging araçları ile rahatlıkla kontrol edebilirsiniz. 

site checker

Web Tarayıcı Eklentileri: Çoğu modern web tarayıcısında, geliştiriciler için tasarlanmış bir dizi araç bulunmaktadır. Bu araçlar genellikle ‘Geliştirici Araçları’ veya ‘DevTools’ olarak adlandırılır ve HTTP isteklerinin yanıtlarını ve durum kodlarını görüntülemenizi sağlar. Tarayıcınızın Geliştirici Araçları’nı açtıktan sonra ‘Ağ’ (Network) sekmesine gidin ve bir sayfayı yenileyin veya bir istek yapın. Bu, isteklerin ve yanıtların listesini gösterir, hangi durum kodları döndüğünü görebilirsiniz.

status codes screaming frog

SEO Araçları: Birçok SEO’cunun göz bebeği olan Screaming Frog aracı olmazsa olmazlardan denebilir. Status Codes (Durum Kodları) hakkında sizlere oldukça fazla bilgi verebilir.

search console
serach console-2

Search Console: Google Search Console üzerinden başlıca 404 sorunlarını kontrol edebilirsiniz. Yapmanız gereken ;

Dizin Oluşturma > Sayfa Sayısı bölümüne gitmek.

HTTP Debugging Araçları: Çeşitli üçüncü taraf HTTP debugging ve test araçları da mevcuttur. Örneğin, Postman gibi araçlar, belirli bir URL’ye istek göndermenizi ve yanıtı, içerisinde durum kodunu incelemenizi sağlar.

Sunucu Logları: Sunucu logları genellikle HTTP isteklerini ve yanıtlarını, dolayısıyla durum kodlarını içerir. Sunucunuzun belirli bir HTTP durum kodu gönderip göndermediğini görmek için bu logları kontrol edebilirsiniz. Sunucu loglarının nasıl görüntüleneceği, kullanılan sunucu yazılımına bağlıdır.

Durum Kodu Hataları Nasıl Düzeltilir?

HTTP durum kodu hatalarını düzeltmek için farklı yaklaşımlar vardır. Hangi yaklaşımın kullanılacağı, karşılaşılan belirli durum koduna bağlıdır. 

404 Not Found: Bu durum kodu genellikle bir kullanıcının istediği sayfanın sunucuda bulunamaması durumunda geri döner. 404 hatasını düzeltmek için genellikle eksik sayfanın yeniden oluşturulması veya hatalı bir bağlantının düzeltilmesi gerekir.

403 Forbidden: Bu hata, bir kullanıcının belirli bir kaynağa erişim yetkisi olmadığını gösterir. Bu hata genellikle yetkilendirme ayarlarından kaynaklanır ve bu ayarların düzeltilmesi gerekmektedir.

500 Internal Server Error: Bu genel hata mesajı, sunucuda bir hata olduğunu gösterir. Bu hatanın düzeltilmesi genellikle sunucu üzerinde çalışan yazılımla ilgili bir sorunu çözmeyi gerektirir.

503 Service Unavailable: Bu hata, sunucunun geçici olarak hizmet dışı olduğunu gösterir. Bu genellikle sunucunun çok yüksek trafik nedeniyle aşırı yüklenmesi sonucu oluşur. Bu durumu çözmek için, sunucunun kaynaklarını artırma veya yüksek trafik dönemlerinde daha fazla talebi karşılayabilmesi için ölçeklendirme stratejileri uygulama gerekmektedir.

Her durum kodu için özel düzeltme adımları vardır. Dolayısıyla, bir HTTP durum kodu hatasını düzeltmek için ilk adım, hangi durum kodunun döndüğünü belirlemek ve ardından bu kodun ne anlama geldiğini anlamaktır. Daha sonra, belirli durum kodunun neden oluştuğunu ve bu sorunu nasıl çözebileceğinizi belirlemek için sunucu loglarına, hata mesajlarına ve diğer bilgilere bakmanız gerekebilir. 

HTTP Durum Kodları SEO’yu Nasıl Etkiler?

HTTP durum kodları, bir web sitesinin arama motoru optimizasyonu (SEO) üzerinde önemli bir etkiye sahip olabilir. Bazı yaygın durum kodları ve SEO üzerindeki etkileri:

200 OK: Bu, isteğin başarıyla işlendiğini ve kullanıcının istenen bilgiye ulaştığını gösterir. Bu durum kodunun düzgün çalışması, kullanıcı deneyimini ve arama motoru sıralamasını olumlu etkiler.

301 Moved Permanently: Bu durum kodu, bir sayfanın kalıcı olarak yeni bir URL’ye taşındığını belirtir. 301 yönlendirmeleri, eski URL’nin SEO değerinin yeni URL’ye aktarılmasını sağlar. Bu yönlendirmeler, site yapısını değiştirirken veya bir siteyi yeni bir alan adına taşırken dikkatlice yönetilmelidir.

404 Not Found: Bu hata kodu, bir sayfanın bulunamadığını gösterir. 404 hataları, kullanıcı deneyimini olumsuz etkiler ve ayrıca arama motorlarına sitenizin düzgün bir şekilde yönetilmediği sinyalini verebilir. Bu tür hataların bulunması ve düzeltilmesi, genellikle 301 yönlendirmeleri kullanarak, SEO’yu iyileştirebilir.

500 Internal Server Error ve 503 Service Unavailable: Bu hatalar, sunucunuzun bir sorunla karşılaştığını ve isteği tamamlayamadığını gösterir. Bu tür hatalar, kullanıcı deneyimini olumsuz etkiler ve ayrıca Google gibi arama motorlarına sitenizin güvenilir olmadığı sinyalini verebilir.

HTTP durum kodları ve SEO arasındaki bu ilişki nedeniyle, web sitesi sahipleri ve geliştiricileri, durum kodlarını düzenli olarak izlemeli ve hataları hızlı bir şekilde düzeltmelidir. Bu, kullanıcı deneyimini iyileştirmenin ve arama motoru sıralamalarını olumlu etkilemenin önemli bir parçasıdır.

100 Continue
101 Switching Protocols
103 Early Hints
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
307 Temporary Redirect
308 Permanent Redirect
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Payload Too Large
414 URI Too Long
415 Unsupported Media Type
416 Range Not Satisfiable
417 Expectation Failed
418 I'm a teapot
422 Unprocessable Entity
425 Too Early
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
451 Unavailable For Legal Reasons
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected
510 Not Extended
511 Network Authentication Required

1xx Informational



100 Continue
101 Switching Protocols
102 Processing (WebDAV)


2xx Success


200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
207 Multi-Status (WebDAV)
208 Already Reported (WebDAV)
226 IM Used

 
3xx Redirection


300 Multiple Choices
301 Moved Permanently
302 Found
303 See Other
304 Not Modified
305 Use Proxy
306 (Unused)
307 Temporary Redirect
308 Permanent Redirect (experimental)

4xx Client Error

400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Timeout
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URI Too Long
415 Unsupported Media Type
416 Requested Range Not Satisfiable
417 Expectation Failed
418 I'm a teapot (RFC 2324)
420 Enhance Your Calm (Twitter)
422 Unprocessable Entity (WebDAV)
423 Locked (WebDAV)
424 Failed Dependency (WebDAV)
425 Reserved for WebDAV
426 Upgrade Required
428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large
444 No Response (Nginx)
449 Retry With (Microsoft)
450 Blocked by Windows Parental Controls (Microsoft)
451 Unavailable For Legal Reasons
499 Client Closed Request (Nginx)


5xx Server Error



500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates (Experimental)
507 Insufficient Storage (WebDAV)
508 Loop Detected (WebDAV)
509 Bandwidth Limit Exceeded (Apache)
510 Not Extended
511 Network Authentication Required
598 Network read timeout error
599 Network connect timeout error
Skip to content