HTTP Durum Kodları: Yönlendirme ve Hata Kodları

HTTP Durum Kodları: Yönlendirme ve Hata Kodları

HTTP yönlendirme ve hata kodları neler, hatalar neden olur, SEO’da sık karşılaşılan yönlendirme hataları neler ve dahası

HTTP (Hypertext Transfer Protocol), web tarayıcıları ve sunucular arasında iletişim sağlayan temel bir protokoldür. Bir web sitesini ziyaret ettiğinizde, tarayıcınız o siteye HTTP istekleri gönderir ve sunucu da bu isteklere çeşitli durum kodları aracılığıyla yanıt verir. Kodlar ise istek sonucunu belirleyerek işlem sürecini tanımlar.

HTTP Nedir?

HTTP'nin açılımı "Hypertext Transfer Protocol"tür. Web tarayıcıları ile sunucular arasında veri iletimini sağlar ve kullanıcıların web tarayıcıları aracılığıyla web sitelerine erişmesini ve gezinmesini mümkün kılar. Detaylara geçmeden önce http geçmişi hakkında da kısa bir bilgi verelim.

HTTP Tarihi

HTTP tarihi, internetin gelişimiyle paralel ilerlemiştir. İlk HTTP versiyonu, Tim Berners-Lee tarafından 1989'da geliştirilen ve 1991'de resmi olarak yayınlanan HTTP/0.9'dur. Bu versiyon, sadece metin tabanlı dokümanların transferini destekler ve çok basit bir yapıya sahiptir.

Daha sonra, 1996'da HTTP/1.0 sürümü yayınlanmıştır. Bu sürüm, MIME tipi gibi ek özelliklerin eklenmesiyle daha esnek bir yapıya kavuştu. 1999'da ise HTTP/1.1 sürümü piyasaya sürüldü. Bu sürüm, bağlantıyı sürekli açık tutarak çoklu isteklerin aynı bağlantı üzerinden iletilmesine izin verdi, bu da performansı artırdı. Ayrıca, önbelleğe alma, arabellek kontrolü ve diğer performans iyileştirmeleri getirdi. 2015 yılında ise HTTP/2 sürümü yayınlandı. Bu sürüm, tek bir bağlantı üzerinden birden fazla isteğin eş zamanlı olarak iletilmesini sağlayarak daha hızlı ve daha verimli bir iletişim sağladı. Ayrıca, HTTP/1.1'in performansını artırmak için yapılan pek çok optimizasyonu da içeriyordu.

2020 yılında sıra http/3 protoküne geldi. Geleneksel TCP bağlantılarının yerine QUIC (Quick UDP Internet Connections) protokolünü kullanarak daha hızlı ve daha güvenli iletişim sağlayan bu yapı daha da ilerleyecek elbette. HTTP/2 ve HTTP/3 gibi sürümlerin, web üzerindeki hız ve güvenlik gereksinimlerini karşılama noktasında önemli bir rol oynadığını eklemek gerek.

HTTP Protokolüne Genel Bakış

HTTP, web tarayıcıları ve sunucular arasında veri iletimini sağlat, Web sayfalarının veri istenme, sunulma ve alınma iletişimini düzenler.

HTTP durum kodları ise bir HTTP isteğinin sonucunu belirten üç haneli sayısal kodlardır. Bu kodlar, bir isteğin başarıyla işlendiğini, bir hata oluştuğunu veya yönlendirme gerektiğini belirtir.

Durum kodları, 5 farklı kategori altında toplanır:

  • Bilgilendirme (1xx),
  • Başarılı İşlemler (2xx),
  • Yönlendirme (3xx),
  • İstemci Hataları (4xx)
  • Sunucu Hataları (5xx).

HTTP DURUM KODLARI Sınıflandırması

1xx: Bilgilendirme kodlarıdır, sunucunun isteği aldığını ve işlediğini, ancak daha fazla eylem gerektiğini belirtir. Örneğin, bir sunucu bir isteği kabul ettiğinde ve hala işlemi tamamlamadığında, 101 (Switching Protocols) durum koduyla yeni bir protokole geçiş yapıldığını bildirir.

2xx: Başarılı İşlemler kodudur. İsteğin başarıyla işlendiğini ve tamamlandığını belirtir. Örneğin, bir dosyanın başarıyla güncellendiği durumlarda, sunucu 204 (No Content) durum koduyla güncelleme işleminin tamamlandığını bildirir.

3xx: Yönlendirme kodlarıdır ve isteğin başka bir yerde bulunabileceğini, istemcinin yönlendirilmesi gerektiğini belirtir. Örneğin, 301 (Moved Permanently) durum kodu, isteğin kalıcı olarak başka bir URI'ye yönlendirildiğini belirtir.

4xx: İstemci Hatalarıdır. Bu kodlar, isteğin sunucu tarafından işlenemediğini ve isteğin yanlış veya eksik olduğunu belirtir. Örneğin, 404 (Not Found) durum kodu, istemcinin talep ettiği kaynağın sunucu tarafından bulunamadığını belirtir.

5xx: Sunucu Hatalarıdır ve sunucunun isteği işleyemediğini ve sunucu tarafından bir hata oluştuğunu belirtir. Örneğin, 500 (Internal Server Error) durum kodu, sunucunun beklenmeyen bir durumla karşılaştığını ve isteği işleyemediğini belirtir.

Kodları doğru okumak ve gerekli bilgiye sahip olmak, olası sorunları kısa sürede çözmeye yardımcı olur.

SEO'da En Çok Yapılan Yönlendirme Hataları

Hata ve durum kodları, yönlendirme hataları ile ilgili detaylı bilgi vermeden önce, en sık karşılaşılan ve arama motoru optimizasyonunu negatif etkileyen hata kodlarını anlatalım.

404 Not Found Hatası: Sunucunun istenen kaynağı bulamadığını belirten bir HTTP hata kodudur. Kullanıcı bir URL'yi yanlış yazdığında veya mevcut olmayan bir sayfaya erişmeye çalıştığında karşılaşılır. Bu hata genellikle web sitesindeki bağlantıların bozuk olduğunu veya içeriğin taşındığını gösterir. 404 hatası, kullanıcıların doğru sayfaya yönlendirilmesi veya aradıkları içeriğin sunucuda bulunup bulunmadığının kontrol edilmesi gerektiğini belirtir.

500 Internal Server Error: Sunucunun beklenmeyen bir hata nedeniyle isteği işleyemediğini belirten bir hata kodudur. Bu hata genellikle sunucu tarafında bir programlama hatası veya yapılandırma sorunu olduğunu gösterir. Sunucu üzerindeki bir yazılım hatası nedeniyle oluşabilir ve web sitesinin erişilemez olmasına neden olabilir. 500 hatası, sunucu yöneticilerinin sunucu yapılandırmasını kontrol etmeleri ve sorunu gidermeleri gerektiğini belirtir.

403 Forbidden: Kullanıcının belirli bir kaynağa erişim izninin olmadığını belirten bir hata kodudur. Bu hata genellikle kullanıcının erişmeye çalıştığı içeriğin korumalı veya gizli olduğunu gösterir. Kullanıcı, erişim izni gerektiren bir sayfaya girmeye çalıştığında veya erişim izni olmayan bir işlemi gerçekleştirmeye çalıştığında karşılaşılır. 403 hatası, kullanıcının yetkilendirme bilgilerini kontrol etmesi veya gerekli izinleri alması gerektiğini belirtir.

400 Bad Request: Sunucunun isteği anlamadığını veya işleyemediğini belirten bir hata kodudur. Bu hata genellikle istek formatının geçersiz olduğunu veya eksik bilgi içerdiğini gösterir. Kullanıcı, bir formu yanlış doldurduğunda veya geçersiz bir URL'ye erişmeye çalıştığında karşılaşılır. 400 hatası, kullanıcının isteğin doğru biçimde gönderildiğinden ve gerekli tüm bilgilerin sağlandığından emin olması gerektiğini belirtir.

401 Unauthorized: Kullanıcının belirli bir kaynağa erişim yetkisinin olmadığını belirten bir hata kodudur. Bu hata genellikle kullanıcının giriş yapmadan erişmeye çalıştığı bir kaynağa erişmeye çalıştığında karşılaşılır. Kullanıcı, yetkisiz bir işlemi gerçekleştirmeye çalıştığında veya özel bir sayfaya erişmeye çalıştığında 401 hatası alır. Bu hatayı gidermek için kullanıcı, kaynağa erişim için gerekli izinleri almalı veya giriş yapmalıdır.

303 See Other: İsteği gönderen istemcinin, cevap alındıktan sonra başka bir URI'ye yönlendirilmesi gerektiğini belirten bir HTTP durum kodudur. Bu genellikle bir POST isteğine bir yanıt olarak kullanılır ve kullanıcıyı başka bir sayfaya yönlendirmek için kullanılır. Örneğin, bir form gönderildikten sonra kullanıcıya teşekkür sayfasına yönlendirme yapılabilir. Bu kod, istemciyi otomatik olarak yönlendirir ve kullanıcıyı doğru sayfaya yönlendirir.

Hata ve Yönlendirme Kodları Kapsamlı Liste

1xx Bilgi:

  • 100 Continue (Devam)
  • 101 Switching Protocols (Anahtarlama Protokolleri):
  • 102 Processing (İşlem)
  • 103 Early Hints

100 Continue (Devam)

100 durum kodu, bir isteğin henüz tamamlanmadığını belirtir ve istemciye isteği tamamlaması için devam etmesi gerektiğini bildirir. Özellikle büyük boyuttaki isteklerde kullanılır ve sunucu, isteğin tamamını almadan önce istemcinin beklemesini sağlar.

Örneğin, bir web tarayıcısı, kullanıcının büyük dosyayı yüklemek istediği web sitesine bir POST isteği gönderdiğinde sunucu, isteği alır almaz "100 Continue" yanıtı gönderir ve istemci bu yanıtı aldıktan sonra dosyanın gönderimini tamamlar.

101 Switching Protocols (Anahtarlama Protokolleri):

101 durum kodu, sunucunun bir isteği almış olsa da, sunucunun protokolünü değiştirmeyi gerektiğini belirtir. Örneğin, sunucu HTTP protokolünü WebSocket protokolüne geçirebilir. Bir başka örnek olarak, istemci bir web sitesine HTTPS bağlantısı kurmak için bir istek gönderdiğinde sunucu, isteği alır almaz HTTPS protokolüne geçmeyi önermek için "101 Switching Protocols" yanıtı gönderebilir.

102 Processing (İşlem):

102 işlem kodu, sunucunun isteği aldığını ve işlemeye başladığını, ancak henüz tamamlanmadığını belirtir. Bu genellikle uzun süren işlemleri temsil etmek için kullanılır.

Örneğin, büyük bir dosyanın sıkıştırılması gibi uzun bir işlem için istemci bir istek gönderdiğinde sunucu, isteği aldıktan sonra "102 Processing" yanıtı gönderir ve sıkıştırma işlemine başlar. İşlem tamamlandığında, sunucu sonuçla birlikte bir başka yanıt gönderir.

103 Early Hints:

Bu durum kodu, sunucunun henüz tamamlanmamış bir yanıt göndermeden önce istemciye bazı ek bilgileri ilettiğini belirtir. Bu, istemcinin gelecekteki isteklerini optimize etmesine yardımcı olur.

Örneğin, bir API sunucusu*, bir istemcinin bir veri kaynağına erişmek için yaptığı bir istek için, istemcinin gereksinim duyabileceği bazı meta verileri ("103 Early Hints" yanıtı ile) önceden gönderir. Bu, istemcinin daha sonra yapacağı isteklerde daha iyi kararlar vermesine olanak tanır, çünkü gerekli verileri önceden bilir.

*API (Uygulama Programlama Arayüzü) sunucusu: Yazılım uygulamasının veya servisinin dış dünyayla iletişim kurmasını sağlayan bir sunucu sistemidir. API sunucuları, diğer yazılım uygulamalarının belirli işlevleri çağırmasına, veri alışverişinde bulunmasına ve bilgi alıp göndermesine olanak tanır. Genellikle, bu API'lar HTTP protokolü üzerinden erişilebilir ve genellikle JSON veya XML gibi formatlarda veri alışverişi yapılır.

2xx Başarılı

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

200 OK:

Sunucunun, istemci isteğini başarıyla işlediğini ve istemciye geri dönüş yaptığını belirtir. Örneğin, bir web sayfası istendiğinde ve sayfa başarılı bir şekilde yüklendiğinde bu kod kullanılır. Kullanıcı bir web sitesine girdiğinde, 200 OK kodu yanıtıyla sayfa sorunsuz bir şekilde yüklenir ve tarayıcı "Sayfa başarıyla yüklendi" mesajını alır.

201 Created:

Sunucunun, istemci talebi olan kaynağı başarıyla oluşturmasını niteler. Özellikle POST istekleri sonucunda yeni bir kaynak oluşturulduğunda kullanılır. Mesela, bir blog platformu düşünelim. Kullanıcı, yeni bir blog gönderisi oluşturduğunda ve sunucu tarafından başarıyla işlendiğinde bu kod kullanılır.

202 Accepted:

Sunucunun, istemci isteğini kabul ettiğini ancak işleme koymadığını belirtir. İşleme koyma süreci genellikle zaman alır ve asenkron bir şekilde gerçekleşebilir. Örneğin, bir e-posta gönderme isteği sunucu tarafından kabul edildi ancak sunucu, e-postayı göndermek için uygun bir zaman belirleyene kadar işleme almadı ise 202 kodu devrededir.

3xx Yönlendirme

  • 300 Multiple Choices (Çoklu Seçenekler)
  • 301 Moved Permanently (Kalıcı Olarak Taşındı)
  • 302 Found (Bulundu)
  • 303 See Other (Diğerini Gör)
  • 304 Not Modified (Değiştirilmedi)
  • 305 Use Proxy (Vekil Sunucu Kullan)
  • 306 Switch Proxy (Vekil Sunucu Değiştir)
  • 307 Temporary Redirect (Geçici Yönlendirme)
  • 308 Permanent Redirect (Kalıcı Yönlendirme)

300 Multiple Choices:

300 durum kodu, istemcinin isteği karşılanırken sunucunun birden fazla seçeneği olduğunu belirtir. İstemci, bu seçeneklerden birini seçerek isteğini tekrar gönderebilir. Bir dosyanın farklı sürümleri varsa, sunucu 300 durum koduyla istemciye bu sürümleri bildirebilir. Örneğin, bir kullanıcı bir web sayfasına eriştiğinde, birden fazla dil seçeneği varsa, sunucu 300 durum koduyla bu seçenekleri kullanıcıya sunabilir.

301 Moved Permanently:

30q kodu, istemcinin isteği yapılan kalıcı bir şekilde başka bir konuma yönlendirildiğini belirtir. İstemci, gelecekte aynı kaynağı yeni konumundan almalıdır. Örneğin, bir web sitesi yazılımcısı, bir sayfanın URL'sini değiştirdiğinde, sunucu 301 durum koduyla bu değişikliği istemcilere bildirir. Bir diğer önek, bir ürün artık farklı bir kategoride bulunuyorsa, e-ticaret sitesi 301 durum koduyla eski URL'yi yeni kategoriye yönlendirebilir.

302 Found:

302 Found, istemcinin isteği geçici olarak başka bir konuma yönlendirildiğini belirtir. İstemci, gelecekte aynı kaynağı orijinal konumundan almalıdır. Örneğin bir web sitesi bakım modunda olduğunda, sunucu 302 durum koduyla geçici olarak bakım sayfasına yönlendirme yapabilir ya da kullanıcı bir belirli sayfaya erişmek istediğinde, sunucu 302 durum koduyla oturum açma sayfasına yönlendirme yapabilir.

303 See Other:

303 kodu ile istemci, isteği tamamladıktan sonra başka bir konuma yönlendirileceğini belirtir. Örneğin, kullanıcı bir form gönderdiğinde ve işlem tamamlandığında, sunucu 303 durum koduyla kullanıcıyı başka bir "teşekkür" sayfasına yönlendirebilir. Web sitesi, bir içeriği güncellediğinde ve kullanıcıyı güncellenmiş içeriği görmesi için farklı bir URL'ye yönlendirmek istediğinde, sunucu 303 durum kodunu kullanabilir.

304 Not Modified:

Bir istemci bir kaynağa erişmek için bir GET isteği gönderdiğinde ve sunucu, bu kaynağın son erişiminde değişiklik olmadığını belirlerse, sunucu 304 Not Modified durum kodunu kullanarak istemciye bu bilgiyi iletebilir. İstemci daha sonra yerel önbelleğindeki kopyayı kullanarak kaynağa erişebilir, böylece sunucuya tekrar erişim sağlamak zorunda kalmaz. Bu durum, ağ trafiğini azaltarak ve sunucu yükünü hafifleterek performansı artırabilir.

Örneğin, bir RESTful API, bir kaynağın son değişiklik tarihini kontrol ederken, sunucu 304 durum koduyla kaynağın değişmediğini bildirebilir ve istemciyi kaynağı yeniden indirmekten kaçınabilir.

305 Use Proxy:

İstemcinin isteği vekil sunucu aracılığıyla işlem görmelidir. Bu durum, istemcinin belirli bir vekil sunucuyu kullanması gerektiğini belirtir. Örneğin, bir kuruluş, belirli web sitelerine erişimi kontrol etmek için bir vekil sunucu kullanıyorsa, sunucu 305 durum koduyla istemcilere bu vekil sunucuyu kullanmaları gerektiğini bildirebilir. Ya da bir şirket, çalışanlarının internete erişimini sınırlamak için bir vekil sunucu kullanıyorsa, sunucu 305 durum koduyla çalışanların bu vekil sunucuyu kullanmalarını isteyebilir.

306 Switch Proxy:

306 Switch Proxy durum kodu artık kullanılmamaktadır. Önceki sürümlerde, istemciyi başka bir vekil sunucuya yönlendirmek için kullanılıyordu. Artık, HTTP/1.1 spesifikasyonunda geçerli bir durum kodu olarak tanımlanmamaktadır.

Örnek bir senaryo olarak, bir şirketin iç ağına erişim sınırlamak için bir vekil sunucu kullanması düşünülebilir. İstemci, belirli bir web sitesine erişmek istediğinde, vekil sunucu tarafından bu istek algılanır ve gerekli izinler sağlanırsa istemci bu web sitesine erişebilir. Ancak, vekil sunucu bu web sitesine erişim izni vermezse veya yönlendirme yapmak istenirse, 306 durum kodu kullanılabilirdi. Bu durumda, istemciye başka bir vekil sunucuya yönlendirilmesi gerektiği belirtilirdi.

Zamanla HTTP spesifikasyonları güncellendi ve 306 durum kodu kaldırıldı. Bunun yerine, durum kodları daha spesifik hale getirildi ve 301 (Kalıcı Olarak Taşındı) veya 307 (Geçici Yönlendirme) gibi kodlar tercih edilmeye başlandı.

307 Temporary Redirect:

İstemcinin isteği başka bir konuma geçici olarak yönlendirildiğini belirtir. İstemci, gelecekte aynı kaynağı orijinal konumundan almalıdır. Örneğin, bir web sitesi sahibi, bir sayfanın geçici olarak başka bir URL'ye taşındığını bildirmek istediğinde, sunucu 307 durum koduyla bu geçici yönlendirmeyi gerçekleştirebilir. Bir web uygulaması, oturum açma sayfasına yönlendirme yaparken, sunucu 307 durum koduyla bu geçici yönlendirmeyi yapabilir.

308 Permanent Redirect:

İstemcinin isteği başka bir konuma kalıcı olarak yönlendirildiğini belirtir. İstemci, gelecekte aynı kaynağı yeni konumundan almalıdır. Örneğin, bir web sitesi sayfanın kalıcı olarak başka bir URL'ye taşınması gerektiğinde, sunucu 308 durum koduyla bu kalıcı yönlendirmeyi gerçekleştirebilir. Mesela, bir ürün artık farklı bir kategoride bulunuyorsa, e-ticaret sitesi 308 durum koduyla eski URL'yi yeni kategoriye yönlendirir.

4xx İstemci Hatası Durumları:

  • 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
  • 421 Misdirected Request
  • 422 Unprocessable Entity
  • 423 Locked
  • 424 Failed Dependency
  • 425 Too Early
  • 426 Upgrade Required
  • 428 Precondition Required
  • 429 Too Many Requests
  • 431 Request Header Fields Too Large
  • 451 Unavailable For Legal Reasons

400 Bad Request:

400 kodu, bir isteğin sunucu tarafından anlaşılamaması durumunda ortaya çıkar. Yani, sunucu yanlış bir yapıya sahip olduğundan isteği işleyemiyor demektir. Örneğin, kullanıcı bir web formu gönderirken gerekli alanları doldurmadığında veya geçersiz veri ilettiğinde bu hatayı alabilmektedir.

401 Unauthorized:

Unauthorized hatası, bir isteğin yetkilendirme gerektirdiği, ancak yetkilendirme yapılmadığı veya yanlış yapıldığı durumlarda ortaya çıkar. Örneğin, kullanıcı bir sayfaya girmeye çalışırken doğru kullanıcı adı ve şifreyi yazamazsa veya geçersiz bir oturum kimliği ile giriş yapmaya çalışırsa bu hatayı alır.

402 Payment Required:

Payment Required kodu, bir kaynağa erişim için ödeme yapılması gerektiğinde kullanılır, ancak henüz ödeme yapılmadığında ortaya çıkar. Örneğin, bir kullanıcı bir ücretli içeriği görüntülemek istediğinde ancak ödeme yapmadığında bu hatayı alır.

403 Forbidden:

403 Forbidden hatası sunucunun isteği reddettiği ve kullanıcının kaynağa erişim izninin olmadığı durumlarda gösterilir. Örneğin, bir kullanıcı izin verilmeyen bir dizine veya sayfaya erişmeye çalıştığında bu hata ile karşılaşılır.

404 Not Found:

404 Not Found hatası, istemcinin sunucunun istenen kaynağı bulamaması durumunda ortaya çıkar. Bu hatayı almak, kullanıcıların en sık karşılaştığı HTTP hata kodlarından biridir. Sunucu, istemcinin istediği kaynağı bulamadığında, isteği işleyemez ve 404 hatasıyla yanıt verir. Bu, genellikle geçersiz bir URL'yi ziyaret ettiğinde veya mevcut olmayan bir bağlantıya tıkladığında kullanıcıların karşılaştığı bir durumdur.

Bir web sitesi yazılımcısının, eski bir içeriği veya sayfayı kaldırdığını düşünelim, Sayfa / içerik kaldırılsa da eski bağlantılar hala internet arama sonuçlarında bulunabilir. Kullanıcılar bu bağlantıları tıkladıklarında, karşılarına 404 Not Found hatası çıkar çünkü istenen sayfa artık mevcut değildir.

Örneğin, kullanıcı bir e-ticaret sitesindeki belirli bir ürünün URL'sini yanlış yazarsa veya ürün artık stokta bulunmuyorsa, ürün sayfasına erişmeye çalıştığında 404 hatası alır. Bir başka örnek daha verelim. Bir blog yazarı, eski bir blog gönderisini kaldırdığında veya yeniden adlandırdığında, bu gönderiye bağlantı veren diğer web siteleri veya paylaşımlar 404 Not Found hatası alır çünkü o gönderi artık mevcut değildir.

405 Method Not Allowed:

405 kodu, sunucunun istemcinin kullandığı HTTP yöntemini desteklemediği durumlarda gösterilir. Örneğin, bir kullanıcı bir GET isteği yerine bir POST isteği gönderirse bu hatayı alır.

406 Not Acceptable:

406 Not Acceptable hatası, sunucunun istemcinin istediği içerik tipini veya formatını desteklemediği durumlarda ortaya çıkar. Misal, bir kullanıcı bir web tarayıcısından belirli bir medya tipi talep ederken sunucu bu medya tipini desteklemiyorsa bu hatayı alır.

407 Proxy Authentication Required:

Bu kod, bir proxy sunucunun kimlik doğrulama gerektirdiği durumlarda gösterilir. Örneğin, bir kurumsal ağa erişmeye çalışırken, kullanıcının bir proxy sunucusu aracılığıyla internete bağlanması gerekiyorsa ve bu proxy sunucusu kimlik doğrulama gerektiriyorsa bu hatayı alır.

408 Request Timeout:

408 Request Timeout hatası, istemcinin sunucudan belirli bir süre içinde yanıt alamadığında ortaya çıkar. Örneğin, bir kullanıcı bir web sayfasını yüklerken ağ bağlantısında bir sorun oluştuğunda veya sunucu yoğun olduğunda bu hatayı alır.

409 Conflict:

409 Conflict hatası, bir isteğin sunucuda bir çakışmaya neden olduğunu belirtir. Bu çatışma genellikle, aynı anda birden fazla istemcinin aynı kaynağı değiştirmeye çalışması sonucu oluşur. Sunucu, bu çakışmayı çözemez ve isteği başarılı bir şekilde işleyemez, bu nedenle 409 hatasıyla yanıt verir.

Örneğin, bir e-ticaret web sitesinde, aynı ürün üzerinde birden fazla kullanıcı aynı anda işlem yapmaya çalışırsa çatışma meydana gelebilir. Bir kullanıcı, belirli bir ürünü sepete eklerken, aynı anda başka bir kullanıcı da aynı ürünü satın almak için sepetteki miktarı artırmaya çalışırsa bu durum çatışmaya neden olabilir. Sunucu, iki isteği de aynı anda işleyemez ve 409 Conflict hatası döndürür.

410 Gone:

410 hatası, bir kaynağın artık mevcut olmadığı ve kalıcı olarak kaldırıldığı durumlarda gösterilir. Örneğin, bir web sitesi yöneticisi, bir sayfayı veya belirli bir içeriği kaldırdığında bu hatayı alır.

411 Length Required:

411 kod hatası, sunucunun bir isteği işleyebilmesi için içeriğin uzunluğunun belirtilmesi gerektiğinde ortaya çıkar. Mesela, bir kullanıcı dosya yükleme işlemi yaparken içeriğin boyutunu belirtmediğinde bu hatayı alır.

412 Precondition Failed:

Bu hata, sunucunun isteğin belirtilen önkoşulları karşılamadığında gösterilir. Örneğin, bir istemci, bir kaynağı değiştirmek için gerekli olan önkoşulları sağlamazsa bu hatayı alır.

413 Payload Too Large:

Bu kod, bir isteğin boyutunun sunucunun işlemesi için çok büyük olduğunda gösterilir. Örneğin, bir kullanıcı dosya yükleme işlemi yaparken yüklenen dosya boyutu sunucu tarafından kabul edilemezse bu hatayı alır.

414 URI Too Long:

Bu hata, bir URI'nin (Uniform Resource Identifier)* çok uzun olduğu durumlarda ortaya çıkar. Örneğin, bir kullanıcı çok uzun bir URL'yi tarayıcı adres çubuğuna girdiğinde bu hatayı alır.

URI tanımı: URI (Uniform Resource Identifier), bir kaynağın benzersiz bir tanımlayıcısıdır. Bir URI, genellikle bir web sayfası, bir dosya, bir resim veya başka bir çevrimiçi kaynağın konumunu belirtir. Web tarayıcıları, bir URI'yi kullanarak bir kaynağa erişir ve kullanıcıya sunar.

Örneğin, "https://www.example.com/index.html" bir URI'dir. Bu URI, "www.example.com" alan adındaki bir web sunucusundaki "index.html" adlı bir dosyayı belirtir. Bu URI'yi tarayıcıda açtığınızda, web sunucusundaki "index.html" dosyasının içeriği tarayıcıda görüntülenir.

409 Conflict hatası, bir URI'nin çok uzun olduğu durumlarda ortaya çıkmaz. Bunun yerine, 414 URI Too Long hatası, istemcinin gönderdiği URI'nin belirli bir sınırı aştığı durumlarda ortaya çıkar. Bu hatanın anlamı, istemcinin gönderdiği URI'nin sunucunun işleyebileceği maksimum uzunluğu aştığı ve işlenemeyeceğidir.

415 Unsupported Media Type:

415 hatası, sunucunun istemcinin isteği gönderdiği medya türünü desteklemediği durumlarda gösterilir. Örneğin, bir istemci bir isteği JSON formatında gönderirken sunucu bu medya türünü desteklemiyorsa bu hatayı alır.

416 Range Not Satisfiable:

416 Range Not Satisfiable kodu, sunucunun istemcinin isteği iletilen aralığı karşılayamadığı durumlarda gösterilir. Örneğin, bir istemci bir dosyanın belirli bir aralığını istediğinde ancak sunucu bu aralığı sağlayamıyorsa bu hatayı alır.

417 Expectation Failed:

417 hatası, sunucunun istemcinin beklentisini karşılayamadığında ortaya çıkar. Örneğin, bir istemci "Expect" başlığında belirli bir davranışı talep ederken sunucu bu beklentiyi karşılayamıyorsa bu hatayı alır.

421 Misdirected Request:

Bu hata, bir isteğin sunucuya yanlış yönlendirilmesi durumunda ortaya çıkar. Örneğin, bir istemci, bir sunucuya yönlendirme hatası nedeniyle yanlış bir sunucuya istek gönderirse bu hatayı alır.

422 Unprocessable Entity

Bu hata, sunucunun isteği anladığı ancak işleyemediği durumlarda gösterilir. Örneğin, bir istemci bir JSON isteği gönderirken sunucu isteği doğru bir şekilde anlar ancak içeriği işleyemezse bu hatayı alır.

Diyelim ki bir kullanıcı bir çevrimiçi alışveriş uygulamasına yeni bir ürün eklemek istiyor ve bu işlemi bir JSON isteğiyle yapmak istiyor. Kullanıcı, aşağıdaki gibi bir JSON verisiyle bir ürün eklemek için bir istek gönderiyor:

{

  "ürün_adı": "Yeni Ürün",

  "fiyat": 50,

  "stok_miktarı": 100

}

Ancak sunucu, bu isteği işleyemez çünkü kullanıcıdan bazı gerekli alanları eksik bıraktı. Örneğin, "ürün_adı" alanı eksik veya yanlış biçimlendirilmiş olabilir. Ayrıca, "fiyat" alanı belirtilen formatta değil veya "stok_miktarı" alanı beklenenden daha büyük bir değer içerebilir.

Sunucu isteği anlar, yani JSON verisini doğru bir şekilde işleyebilir ve yorumlayabilir. Ancak, eksik veya hatalı veriler nedeniyle isteği tam olarak işleyemez. Bu durumda, sunucu 422 Unprocessable Entity hatasıyla yanıt verir.

Kullanıcı bu hatayı alır ve isteğin hangi kısımlarının yanlış olduğunu düzeltmek için gerekli düzeltmeleri yapar. Örneğin, eksik veya hatalı alanları doldurur veya düzeltir. Daha sonra kullanıcı isteği tekrar gönderir ve bu sefer sunucu isteği başarıyla işler.

423 Locked:

Bu hata, bir kaynağın geçici olarak kilitlendiğini ve bu nedenle isteğin şu anda işlenemediğini belirtir. Örneğin, bir kaynak üzerinde paralel değişiklikler yapılması durumunda bir kaynak geçici olarak kilitlenebilir.

424 Failed Dependency:

424 hatası, bir isteğin işlenmesi için gerekli olan başka bir işlemin başarısız olduğunu belirtir. Örneğin, bir API isteği içinde başka bir API'ye bağımlı bir işlem yapılıyorsa ve bu bağımlılık başarısız olursa bu hatayı alır.

426 Upgrade Required:

Bu hata, sunucunun daha yeni bir protokol sürümünü gerektirdiğini belirtir. Örneğin, bir istemci, sunucuyla etkileşime geçmek için eski bir protokol sürümünü kullanıyorsa bu hatayı alır.

428 Precondition Required:

Bu, sunucunun isteğin belirli bir önkoşulu karşılamadığını belirttiği durumlarda gösterilir. Örneğin, bir kaynağı değiştirmek için belirli bir önkoşulun sağlanması gerektiğinde ancak sağlanmadığında bu hatayı alır.

429 Too Many Requests:

Bu hata, istemcinin belirli bir süre içinde çok fazla istek gönderdiğini belirtir. Örneğin, bir API kullanıcısı sınırlı bir hızda istek göndermeyi aşarsa bu hatayı alır.

431 Request Header Fields Too Large:

Bu, bir isteğin başlık alanlarının sunucunun kabul edebileceğinden daha büyük olduğunu belirtir. Örneğin, bir istemci, başlık alanları içeren bir istek gönderirken bu başlık alanları çok büyükse bu hatayı alır.

451 Unavailable For Legal Reasons:

Bu hata, bir kaynağın hukuki nedenlerle erişilemez olduğunu belirtir. Örneğin, bir web sitesi, telif hakkı ihlali veya yasal kısıtlamalar nedeniyle belirli içeriğe erişimi engellediğinde bu hatayı alır.

5xx Sunucu Hatası Durumları:

  • 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

500 Internal Server Error:

Internal server hatası, sunucunun beklenmeyen bir durumla karşılaştığını ve isteği işleyemediğini belirtir. Genellikle bu, sunucu tarafında bir hata olduğu anlamına gelir ve bu hatayı kullanıcıların görmesi beklenmez. Sunucuda yapılandırma sorunları, yazılım hataları veya donanım sorunları gibi çeşitli nedenlerden kaynaklanabilir.

Kod 500 hatasına örnek olarak, bir web sitesi sunucusunda bir veritabanı bağlantı hatası meydana gelirse, sunucu bu hatayı döndürür ve kullanıcılar "500 Internal Server Error" mesajı görür.

501 Not Implemented:

Kod 501 hatası, sunucunun istemcinin kullandığı HTTP yöntemini desteklemediğini belirtir.  Örneğin, bir web sunucusu, DELETE isteğini desteklemediği için istemcinin bu yöntemi kullanması durumunda "501 Not Implemented" hatası çıkarır.

502 Bad Gateway:

Bu hata, bir sunucunun, bir başka sunucuya ilettiği isteğe yanıt alamaması durumunda ortaya çıkar. Bu genellikle bir proxy sunucusu veya ağ geçidi aracılığıyla gerçekleşir. Mesela, web proxy sunucusu, bir isteği hedef sunucuya iletmeye çalışırken hedef sunucudan yanıt alamazsa, "502 Bad Gateway" hatası verir.

503 Service Unavailable:

503 Service Unavailable hatası, sunucunun geçici olarak hizmet dışı olduğunu ve istekleri işleyemediğini belirtir. Bu hatanın ortaya çıkması, genellikle sunucunun aşırı yüklendiği durumlarda, bakım çalışması yapıldığı zamanlarda veya sunucu tarafında geçici bir sorun olduğunda gerçekleşir. Sunucu, istemcinin taleplerini karşılamak için geçici olarak hizmet dışı kalır ve bu durumu bildirmek için 503 hatası verir.

Diyelim ki bir e-ticaret web sitesi sunucusu, beklenmedik bir şekilde aşırı yüklenme nedeniyle geçici olarak hizmet dışı kaldı. Bu durumda, kullanıcılar web sitesine erişmeye çalıştıklarında tarayıcılarında 503 Service Unavailable hatası görürler. Örneğin, kullanıcılar bir ürünü satın almak veya hesaplarına erişmek için web sitesine girmeye çalışırlar ancak sunucu aşırı yüklenme nedeniyle istekleri işleyemez. Bu durumda, web sitesi yöneticileri sunucuyu optimize etmek veya daha fazla kapasite eklemek için çalışabilirler. Geçici olarak hizmet dışı kalan sunucunun sorunları çözüldüğünde, web sitesi tekrar kullanılabilir hale gelir ve 503 hatası ortadan kalkar.

503 Service Unavailable hatası, sunucunun geçici bir durumda olduğunu ve bir sorun olduğunu bildirdiği için kullanıcılar tarafından anlaşılması önemlidir. Bu hatayı gören kullanıcılar, tekrar denemeden önce beklemeleri gerektiğini anlarlar ve sorunun sunucu tarafında olduğunu bilirler. Bu şekilde, sunucu sorunları giderildiğinde kullanıcılar normal şekilde hizmet almaya devam edebilirler.

504 Gateway Timeout:

504 Gateway Timeout hatası, bir sunucunun, bir başka sunucuya ilettiği isteğe zamanında yanıt alamaması durumunda ortaya çıkar. Bu genellikle ağdaki iletişim sorunları veya hedef sunucunun yüksek yüklenmesi nedeniyle oluşabilir. Web proxy sunucusu, bir isteği hedef sunucuya iletmeye çalışırken hedef sunucudan belirli bir süre içinde yanıt alamazsa, "504 Gateway Timeout" hatası verir.

505 HTTP Version Not Supported:

Bu hata, sunucunun istemcinin kullandığı HTTP protokol sürümünü desteklemediğini belirtir. Yani, istemci tarafından kullanılan HTTP sürümü sunucu tarafından desteklenmiyor demektir. Bir istemci, HTTP/2 protokolünü kullanmaya çalışırken, sunucu yalnızca HTTP/1.1'i destekliyorsa, sunucu "505 HTTP Version Not Supported" hatası verir.

506 Variant Also Negotiates:

506 Variant Also Negotiates hatası, sunucunun istemcinin talep ettiği kaynağın içeriğini sunmak için uygun bir varyantı bulamadığını belirtir. Yani, sunucu istemcinin talep ettiği içeriği sunmak için uygun bir varyantı seçemez.

Örnek: Bir web sunucusu, istemcinin talep ettiği bir kaynağın farklı varyantlarını barındırırken, uygun bir varyantı seçemediği durumda "506 Variant Also Negotiates" hatası verir.

507 Insufficient Storage:

507 Insufficient Storage hatası, sunucunun isteği işlemek için gerekli olan depolama alanına sahip olmadığını belirtir. Yani, sunucu isteği yerine getirmek için yeterli boş depolama alanına sahip değildir. Mesela sunucu, dosya yükleme isteğini işlemeye çalışırken, dosyayı saklamak için yeterli boş disk alanına sahip değilse, "507 Insufficient Storage" hatası verir.

508 Loop Detected:

508 Loop Detected hatası sunucunun bir döngü içinde sürekli olarak yönlendirme yaptığını belirtir. Yani, sunucu istemciye bir kaynağı iletmeye çalışırken döngüsel bir yönlendirme durumuna düşer. Örneğin sunucu, bir isteği işlerken, isteği yönlendirmesi gereken başka bir sunucuya yönlendirir, ancak bu sunucu da isteği işleyemeyip başlangıç sunucuya geri yönlendirirse, bu döngüsel yönlendirme durumuna neden olur ve "508 Loop Detected" hatası verir.

510 Not Extended:

510 Not Extended hatası, sunucunun isteği işlemek için gerekli olan ek özellikleri desteklemediğini belirtir. Yani, istemcinin talep ettiği işlemi gerçekleştirmek için gerekli olan ek özellikler sunucu tarafından desteklenmiyor. Misal istemci, sunucudan belirli bir işlemi gerçekleştirmek için belirli bir ek özelliği (örneğin, bir başlık alanını) kullanmak ister, ancak sunucu bu ek özelliği desteklemediğinde "510 Not Extended" hatası verir.

511 Network Authentication Required:

511 Network Authentication Required hatası, sunucunun ağ erişimi için kimlik doğrulaması gerektiğini belirtir. Yani, istemcinin belirli bir kaynağa erişmek için kimlik doğrulaması yapması gerekmektedir. Örneğin sunucu, belirli bir API'ye erişmek için kullanıcının kimlik doğrulaması yapması gerektiğinde "511 Network Authentication Required" hatası verir.

Arama motoru optimizasyonu, Web sitesi kurulum, teknik SEO, çok dilli metin yazım da dahil Google içerik merkezli tüm gereksinimleriniz için Brave Fingers dijital reklam ajansı ile iletişime geçebilirsiniz.

İletişim

Atakent Mah. Dicle Cad. Resan Kırgül Konakları No:27/2 Ümraniye / İstanbul

Bize Ulaşın
Sizlere yardımcı olmak için buradayız.
Formunuz bize ulaştı. En kısa süre içerisinde size dönüş yapacağız.