HTTP durum kodları, internetin sunucular ve istemciler arasında iletişim kurma yöntemidir. Tarayıcınız her bir web sayfası istediğinde, bir API çağrı yaptığında veya bir sunucu veri işlediğinde, bu üç haneli kodlar size tam olarak ne olduğunu söyler. Bu kodları anlamak web geliştiricileri, SEO uzmanları ve web teknolojileriyle çalışan herkes için önemlidir.
Bu kapsamlı kılavuz, 100’den 511’e kadar tüm standart HTTP durum kodlarını kategoriye göre düzenlenmiş olarak kapsamaktadır. Her durum kodu pratik açıklamalar, gerçek dünya kullanım örnekleri, uygulama rehberliği ve kaçınılması gereken yaygın hatalar içermektedir.
HTTP Durum Kodu Hızlı Referans
| Durum Kodu | Ad | Kategori | Git |
|---|---|---|---|
| 100 | Continue | Bilgilendirme | Detaylar |
| 101 | Switching Protocols | Bilgilendirme | Detaylar |
| 102 | Processing | Bilgilendirme | Detaylar |
| 103 | Early Hints | Bilgilendirme | Detaylar |
| 200 | OK | Başarı | Detaylar |
| 201 | Created | Başarı | Detaylar |
| 202 | Accepted | Başarı | Detaylar |
| 203 | Non-Authoritative Information | Başarı | Detaylar |
| 204 | No Content | Başarı | Detaylar |
| 205 | Reset Content | Başarı | Detaylar |
| 206 | Partial Content | Başarı | Detaylar |
| 207 | Multi-Status | Başarı | Detaylar |
| 208 | Already Reported | Başarı | Detaylar |
| 226 | IM Used | Başarı | Detaylar |
| 300 | Multiple Choices | Yönlendirme | Detaylar |
| 301 | Moved Permanently | Yönlendirme | Detaylar |
| 302 | Found | Yönlendirme | Detaylar |
| 303 | See Other | Yönlendirme | Detaylar |
| 304 | Not Modified | Yönlendirme | Detaylar |
| 305 | Use Proxy (Kullanımdan Kaldırıldı) | Yönlendirme | Detaylar |
| 307 | Temporary Redirect | Yönlendirme | Detaylar |
| 308 | Permanent Redirect | Yönlendirme | Detaylar |
| 400 | Bad Request | İstemci Hatası | Detaylar |
| 401 | Unauthorized | İstemci Hatası | Detaylar |
| 403 | Forbidden | İstemci Hatası | Detaylar |
| 404 | Not Found | İstemci Hatası | Detaylar |
| 405 | Method Not Allowed | İstemci Hatası | Detaylar |
| 406 | Not Acceptable | İstemci Hatası | Detaylar |
| 407 | Proxy Authentication Required | İstemci Hatası | Detaylar |
| 408 | Request Timeout | İstemci Hatası | Detaylar |
| 409 | Conflict | İstemci Hatası | Detaylar |
| 410 | Gone | İstemci Hatası | Detaylar |
| 418 | I’m a teapot | İstemci Hatası | Detaylar |
| 422 | Unprocessable Entity | İstemci Hatası | Detaylar |
| 429 | Too Many Requests | İstemci Hatası | Detaylar |
| 451 | Unavailable For Legal Reasons | İstemci Hatası | Detaylar |
| 500 | Internal Server Error | Sunucu Hatası | Detaylar |
| 501 | Not Implemented | Sunucu Hatası | Detaylar |
| 502 | Bad Gateway | Sunucu Hatası | Detaylar |
| 503 | Service Unavailable | Sunucu Hatası | Detaylar |
| 504 | Gateway Timeout | Sunucu Hatası | Detaylar |
| 505 | HTTP Version Not Supported | Sunucu Hatası | Detaylar |
| 507 | Insufficient Storage | Sunucu Hatası | Detaylar |
| 508 | Loop Detected | Sunucu Hatası | Detaylar |
| 511 | Network Authentication Required | Sunucu Hatası | Detaylar |
1xx Bilgilendirme Yanıtları
Bu kodlar, isteğin alındığını ve işlemin devam ettiğini gösterir.
100 durum kodu nedir?
HTTP: 100 Continue
Sunucular ne zaman ve neden döndürür: Sunucu “İsteğinizin ilk kısmını aldım ve şu ana kadar iyi görünüyor - devamını gönderebilirsiniz!” diyor. Bu, büyük bir şey (video gibi) yüklemeye çalıştığınızda gerçekleşir ve sunucu, tüm dosyayı göndererek zaman kaybetmeden önce yükleme izniniz olup olmadığını kontrol etmek ister.
Pratik kullanım örnekleri: Sunucunun önce yeterli alanınız olup olmadığını kontrol ettiği bulut depolamaya büyük dosya yükleme, sunucunun tüm verileri kabul etmeden önce girişinizi doğruladığı büyük formlar gönderme veya çok fazla veri aktarmadan önce izinleri kontrol etmenin mantıklı olduğu herhangi bir durum.
İstemciler bu duruma nasıl yanıt vermeli: Tarayıcınız veya uygulamanız hemen verilerin geri kalanını göndermeye başlamalıdır. Çoğu zaman bu, arka planda otomatik olarak gerçekleşir - bunun olduğunu fark etmezsiniz bile.
Yanlış kullanımlar veya hatalı uygulamalar: Bunu anlamayan eski tarayıcılara göndermek, kimse istemediğinde rastgele göndermek veya bu iki adımlı süreci kullanmadan önce istemcinin gerçekten bunu isteyip istemediğini kontrol etmeyi unutmak.
Ek referans için Mozilla.org Geliştirici Belgesi
101 durum kodu nedir?
HTTP: 101 Switching Protocols
Sunucular ne zaman ve neden döndürür: Sunucu, sizinle iletişim kurma şeklini değiştirmeyi kabul eder. Mesajlaşmaktan telefon görüşmesine geçmek gibi - bağlantıyı yükseltmek istediniz ve sunucu “Tabii, yapalım!” dedi.
Pratik kullanım örnekleri: Bir sohbet uygulaması gerçek zamanlı mesajlaşma için normal HTTP’den WebSocket’e yükselttiğinde, bir tarayıcı HTTP’nin daha hızlı bir sürümünü kullanmayı istediğinde veya herhangi bir uygulama daha iyi özellikler için farklı bir iletişim yöntemine geçmesi gerektiğinde.
İstemciler bu duruma nasıl yanıt vermeli: Hemen yeni iletişim protokolünü kullanmaya başlayın. Konuşma ortasında dil değiştirmek gibi - her ikiniz de kabul ettiğinizde, hemen yeni dili konuşmaya başlarsınız.
Yanlış kullanımlar veya hatalı uygulamalar: İstenmeden geçiş yapmak, sunucunun gerçekte desteklemediği bir şeye geçmeye çalışmak veya hangi protokole geçtiğinizi belirtmeyi unutmak.
Ek referans için Mozilla.org Geliştirici Belgesi
102 durum kodu nedir?
HTTP: 102 Processing
Sunucular ne zaman ve neden döndürür: Sunucu “İsteğiniz üzerinde hala çalışıyorum - benden vazgeçmeyin!” diyor. Bu, bir şeyin işlenmesi gerçekten uzun sürdüğünde kullanılır, böylece sunucu çöktüğünü düşünmenizi önlemek için bu mesajı gönderir.
Pratik kullanım örnekleri: Büyük bir video dosyasını farklı bir formata dönüştürme, yüzlerce dosyayı aynı anda işleme, oluşturması dakikalar süren karmaşık raporlar çalıştırma veya tamamlanması normalden uzun süren herhangi bir işlem.
İstemciler bu duruma nasıl yanıt vermeli: Sabırla beklemeye devam edin. Sunucu, sonunda size gerçek sonucu vermeden önce bu “hala çalışıyorum” mesajlarından birkaçını gönderebilir. İsteği yeniden denemeyin - bu sadece tüm süreci baştan başlatır.
Yanlış kullanımlar veya hatalı uygulamalar: Buna ihtiyaç duymayan hızlı işlemler için kullanmak, çok fazla “hala çalışıyorum” mesajı göndermek veya işleme yaptığınızı söyledikten sonra son yanıtı göndermeyi unutmak.
Ek referans için Mozilla.org Geliştirici Belgesi
103 durum kodu nedir?
HTTP: 103 Early Hints
Sunucular ne zaman ve neden döndürür: Sunucu size muhtemelen yakında ihtiyaç duyacağınız kaynaklar hakkında önceden bilgi veriyor. Bir restoranın “siparişinizi hazırlarken peçetelerinizi ve çatal bıçaklarınızı hazırlamak isteyebilirsiniz” demesi gibi.
Pratik kullanım örnekleri: Sunucu HTML’yi hazırlarken tarayıcılara CSS ve JavaScript dosyalarını yüklemeye başlamalarını söylemek, sayfanın ihtiyaç duyacağı fontları önceden yüklemek veya sayfanın kullanacağı diğer sunuculara bağlantıları ısıtmak.
İstemciler bu duruma nasıl yanıt vermeli: Gerçek yanıtı beklerken önerilen kaynakları arka planda yüklemeye başlayın. Bu, bazı işler erken başladığı için sayfaların daha hızlı hissettirmesini sağlar.
Yanlış kullanımlar veya hatalı uygulamalar: İpuçları göndermek ama gerçek yanıtı asla göndermemek, aslında gerekli olmayan kaynakları önermek veya istemciyi çok fazla gereksiz önceden yükleme ipucuyla aşırı yüklemek.
Ek referans için Mozilla.org Geliştirici Belgesi
2xx Başarı
Bu kodlar, isteğin başarıyla alındığını, anlaşıldığını ve kabul edildiğini gösterir.
200 durum kodu nedir?
HTTP: 200 OK
Sunucular ne zaman ve neden döndürür: Bu “her şey mükemmel çalıştı” yanıtıdır. Sunucu istediğinizi buldu, istediğinizi yaptı ve işte sonucunuz. Göreceğiniz en yaygın başarı mesajıdır.
Pratik kullanım örnekleri: Herhangi bir web sayfasını başarıyla yükleme, bir API’den veri alma, bir dosya indirme, doğru çalışan bir form gönderme veya temel olarak bir isteğin herhangi bir sorun olmadan başarılı olduğu herhangi bir zaman.
İstemciler bu duruma nasıl yanıt vermeli: Geri gelen verileri kullanın - web sayfasını gösterin, JSON verilerini işleyin, dosyayı kaydedin veya uygulamanız için mantıklı olan her ne ise. Bu, her şeyin işlemek üzere tasarlandığı “normal” yanıttır.
Yanlış kullanımlar veya hatalı uygulamalar: “200 OK” demek ama yanıtta bir hata mesajı içermek (kafa karıştırıcı!), yeni bir şey oluşturduğunuzda 200 kullanmak (bunun yerine 201 kullanın) veya veri beklendiğinde veri olmadan 200 döndürmek.
Ek referans için Mozilla.org Geliştirici Belgesi
201 durum kodu nedir?
HTTP: 201 Created
Sunucular ne zaman ve neden döndürür: Sunucu, isteğinize göre başarıyla yeni bir şey oluşturdu. Sadece “Tamam” değil - özellikle “İstediğiniz yeni şeyi yaptım!”
Pratik kullanım örnekleri: Yeni bir kullanıcı hesabı oluşturma, yeni bir tweet veya durum güncellemesi paylaşma, yeni bir kaynak olarak kaydedilen bir dosya yükleme, alışveriş sepetine yeni bir ürün ekleme veya isteğinizin yeni bir şeyin saklanmasıyla sonuçlandığı herhangi bir zaman.
İstemciler bu duruma nasıl yanıt vermeli: Genellikle yeni oluşturulan şeyi nerede bulacağınızı söyleyen Location başlığına bakın. Yeni kaynağa yönlendirebilir veya oluşturmanın başarılı olduğunu göstermek için kullanıcı arayüzünüzü güncelleyebilirsiniz.
Yanlış kullanımlar veya hatalı uygulamalar: Mevcut şeyleri güncellerken 201 kullanmak (200 bunun içindir), yeni kaynağın konumunu dahil etmeyi unutmak veya aslında hiçbir şey oluşturulmadığında 201 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
202 durum kodu nedir?
HTTP: 202 Accepted
Sunucular ne zaman ve neden döndürür: Sunucu isteğinizi kabul etti ama henüz işlemeyi bitirmedi. Kuru temizlemeye bırakmak gibi - kıyafetlerinizi aldılar ve size bir fiş verdiler, ama temizlik henüz yapılmadı.
Pratik kullanım örnekleri: E-posta gönderme (teslim için kabul edildi ama henüz gönderilmedi), hazır olduğunda e-postayla gönderilecek büyük bir veri dışa aktarımı başlatma, video işleme işleri veya daha sonra işlenmek üzere kuyruğa alınan herhangi bir görev.
İstemciler bu duruma nasıl yanıt vermeli: Anında sonuç beklemeyin. İşin bitip bitmediğini kontrol etmek için başka bir yola ihtiyacınız olacak - belki başka bir uç noktayı yoklama, bir e-posta bekleme veya bir webhook bildirimi kontrol etme.
Yanlış kullanımlar veya hatalı uygulamalar: Aslında çoktan tamamlanmış şeyler için 202 kullanmak, daha sonra durumu kontrol etmek için herhangi bir yol sağlamamak veya görev başarısız olabilirken 202 kullanmak (istemciyi bu olasılık hakkında uyarmadan).
Ek referans için Mozilla.org Geliştirici Belgesi
203 durum kodu nedir?
HTTP: 203 Non-Authoritative Information
Sunucular ne zaman ve neden döndürür: İstek başarılı oldu, ancak yanıt ortadaki bir şey (proxy veya önbellek gibi) tarafından değiştirildi. Telefon oyunu oynamak gibi - mesaj ulaştı, ama yol boyunca biraz değişmiş olabilir.
Pratik kullanım örnekleri: Bir şirket proxy’si belirli başlıkları eklediğinde veya kaldırdığında, bir önbellek sunucusu bant genişliğinden tasarruf etmek için yanıtları değiştirdiğinde veya içerik filtreleri politikalara göre gördüklerinizi ayarladığında.
İstemciler bu duruma nasıl yanıt vermeli: Yanıtı normal şekilde kullanın, ancak orijinal sunucunun gönderdiği şey olmayabileceğini bilin. Hala geçerli, sadece potansiyel olarak değiştirilmiş.
Yanlış kullanımlar veya hatalı uygulamalar: Değişiklikler hakkında şeffaf olmamak, aslında hiçbir şey değiştirilmediğinde 203 kullanmak veya yanıtları işlevselliği bozan şekillerde değiştirmek.
Ek referans için Mozilla.org Geliştirici Belgesi
204 durum kodu nedir?
HTTP: 204 No Content
Sunucular ne zaman ve neden döndürür: Sunucu istediğinizi başarıyla yaptı ama geri gönderecek bir şeyi yok. Bir şeyi başarıyla silmek gibi - silme işlemi çalıştı, ama gittiği için size gösterecek bir şey yok!
Pratik kullanım örnekleri: Kayıtları silme, onay verisi geri dönmesi gerekmeyen ayarları güncelleme, arka planda sessizce tercihleri kaydetme veya yanıt gövdesinin anlamsız olacağı herhangi bir başarılı eylem.
İstemciler bu duruma nasıl yanıt vermeli: Başarı olarak değerlendirin ama veri beklemeyin. Sadece bir şeyin çalıştığını bilmeniz gereken AJAX istekleri için mükemmel. JavaScript’iniz bir şeyi güncellemeye karar vermediği sürece sayfa yenilenmemeli veya değişmemeli.
Yanlış kullanımlar veya hatalı uygulamalar: 204 ile yanıt verisi dahil etmek (buna izin verilmez!), istemci muhtemelen güncellenmiş verileri görmek istediğinde 204 kullanmak veya hatalar için 204 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
205 durum kodu nedir?
HTTP: 205 Reset Content
Sunucular ne zaman ve neden döndürür: Sunucu uygulamanıza formunu temizlemesini veya görünümünü sıfırlamasını söylüyor. Bir anketi başarıyla göndermek ve formun sonraki kişi için otomatik olarak kendini temizlemesi gibi.
Pratik kullanım örnekleri: Tekrar tekrar kullanılması gereken bir veri giriş formu gönderdikten sonra, sonraki yanıtlayan için sıfırlanması gereken bir anketi tamamladıktan sonra veya kullanıcı arayüzünün başarıdan sonra başlangıç durumuna dönmesi gereken herhangi bir durum.
İstemciler bu duruma nasıl yanıt vermeli: Tüm form alanlarını temizleyin, belge görünümünü sıfırlayın veya arayüzü orijinal durumuna döndürün. Bu yanıtla birlikte veri gelmez - sadece sıfırlama talimatıdır.
Yanlış kullanımlar veya hatalı uygulamalar: 205 yanıtıyla veri göndermek (boş olmalı), formun temizlenmesini gerçekten istemediğinizde 205 kullanmak veya basit bir 204’ün daha iyi olacağı durumlarda kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
206 durum kodu nedir?
HTTP: 206 Partial Content
Sunucular ne zaman ve neden döndürür: Sunucu dosyanın sadece bir kısmını gönderiyor çünkü istediğiniz buydu. Tüm kitap yerine bir kitabın 50-60 sayfalarını istemek gibi.
Pratik kullanım örnekleri: Farklı bölümlere atlayabileceğiniz video akışı, kesintiye uğrayan indirmeleri kaldığı yerden devam ettirme, büyük dosyaları parçalar halinde indirme veya “daha fazla yükle” özelliklerini verimli bir şekilde uygulama.
İstemciler bu duruma nasıl yanıt vermeli: Kısmi içeriği işleyin ve gerekirse daha fazla parça isteyin. Video oynatıcılar bunu atlama için kullanır ve indirme yöneticileri devam ettirme için kullanır.
Yanlış kullanımlar veya hatalı uygulamalar: Kimse kısmi içerik istemediğinde 206 göndermek, yanlış bayt aralığı göndermek, yardımcı olacakları durumlarda aralık isteklerini desteklememek veya Content-Range başlıklarını karıştırmak.
Ek referans için Mozilla.org Geliştirici Belgesi
207 durum kodu nedir?
HTTP: 207 Multi-Status
Sunucular ne zaman ve neden döndürür: Birden fazla işlem gerçekleştirildi ve her birinin kendi sonucu var. Bir grup iş başvurusu göndermek ve tek bir zarfta her biri için ayrı yanıtlar almak gibi.
Pratik kullanım örnekleri: Aynı anda birden fazla öğeyi güncellediğiniz toplu işlemler, birden fazla dosya üzerinde WebDAV işlemleri, toplu API istekleri veya birden fazla işlem için ayrı sonuçlar bildirmeniz gereken herhangi bir zaman.
İstemciler bu duruma nasıl yanıt vermeli: Her işlem için bireysel sonucu görmek için yanıt gövdesini (genellikle XML) ayrıştırın. Bazıları başarılı olurken diğerleri başarısız olmuş olabilir ve her birini uygun şekilde ele almanız gerekir.
Yanlış kullanımlar veya hatalı uygulamalar: Tek işlemler için 207 kullanmak, çoklu durum yanıtını doğru şekilde yapılandırmamak veya tüm işlemler aynı sonuca sahip olduğunda kullanmak (bunun yerine o tek durum kodunu kullanın).
Ek referans için Mozilla.org Geliştirici Belgesi
208 durum kodu nedir?
HTTP: 208 Already Reported
Sunucular ne zaman ve neden döndürür: Çoklu durum yanıtında, bu, bu kaynakla ilgili bilgilerin daha önce dahil edildiğini gösterir. Kendinizi tekrarlamamak için “yukarıya bakın” demek gibi.
Pratik kullanım örnekleri: Sembolik bağlantılar içeren dizin içeriklerini listelerken, özyinelemeli işlemlerde sonsuz döngüleri önlerken veya karmaşık WebDAV yanıtlarında yinelenen bilgilerden kaçınırken.
İstemciler bu duruma nasıl yanıt vermeli: Yanıtta daha önce zaten ele aldığınız için bu kaynağı işlemeyi atlayın. Bu, çift işleme ve sonsuz döngüleri önler.
Yanlış kullanımlar veya hatalı uygulamalar: 208’i uygun çoklu durum bağlamları dışında kullanmak, olmadıklarında şeyleri “zaten bildirildi” olarak işaretlemek veya bu durumu aşırı kullanarak kafa karıştırıcı yanıtlar oluşturmak.
Ek referans için Mozilla.org Geliştirici Belgesi
226 durum kodu nedir?
HTTP: 226 IM Used
Sunucular ne zaman ve neden döndürür: Sunucu yanıta bir veya daha fazla dönüşüm uyguladı. Bir belge sipariş etmek ve bant genişliğinden tasarruf etmek için sıkıştırılmış veya optimize edilmiş bir sürüm almak gibi.
Pratik kullanım örnekleri: Yalnızca son seferden bu yana değişikliklerin gönderildiği delta kodlama, içeriği anında dönüştüren sıkıştırma sistemleri veya istemcinin istediği herhangi bir bant genişliği tasarrufu dönüşümü.
İstemciler bu duruma nasıl yanıt vermeli: Başlıklarda belirtilen yöntemi kullanarak dönüştürülmüş içeriği işleyin. İstemcinin yanıtı düzgün kullanabilmesi için dönüşümü anlaması gerekir.
Yanlış kullanımlar veya hatalı uygulamalar: Hangi dönüşümlerin uygulandığını belirtmeden 226 kullanmak, istemcinin istemediği dönüşümleri uygulamak veya özel bir durum gerektirmeyen standart sıkıştırma için 226 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
3xx Yönlendirme
Bu kodlar, isteği tamamlamak için daha fazla eylem yapılması gerektiğini gösterir.
300 durum kodu nedir?
HTTP: 300 Multiple Choices
Sunucular ne zaman ve neden döndürür: İstenen kaynağın birden fazla sürümü var ve sunucu otomatik olarak birini seçemiyor. Farklı dillerde sürümler olduğunda “kullanım kılavuzu” istemek gibi.
Pratik kullanım örnekleri: İçerik birden fazla dilde veya formatta mevcut olduğunda, farklı cihazlar için farklı sürümler olduğunda veya sunucu gerçekten hangi sürümü istediğinize karar veremediğinde.
İstemciler bu duruma nasıl yanıt vermeli: Seçenekleri kullanıcıya sunun veya tercihlere (dil ayarları gibi) göre birini seçin. Yanıt tüm mevcut seçenekleri listelemelidir.
Yanlış kullanımlar veya hatalı uygulamalar: Sunucu makul bir şekilde varsayılan seçebilecekken 300 kullanmak, mevcut seçenekleri net bir şekilde sunmamak veya basit yönlendirmeler için kullanmak (bunun yerine 301/302 kullanın).
Ek referans için Mozilla.org Geliştirici Belgesi
301 durum kodu nedir?
HTTP: 301 Moved Permanently
Sunucular ne zaman ve neden döndürür: Kaynak kalıcı olarak yeni bir adrese taşındı. Bir işletmenin yeni bir konuma taşınması ve kalıcı bir yönlendirme işareti koyması gibi - adres defterinizi güncelleyin!
Pratik kullanım örnekleri: Web siteleri URL’lerini kalıcı olarak yeniden yapılandırdığında, HTTP’den HTTPS’ye geçerken, şirketler yeniden markalaşma yapıp alan adı değiştirdiğinde veya daha iyi organizasyon için birden fazla sayfayı tek bir sayfada birleştirirken.
İstemciler bu duruma nasıl yanıt vermeli: Otomatik olarak yeni URL’ye gidin ve bir dahaki sefere için hatırlayın. Tarayıcılar yer imlerini günceller ve arama motorları dizinlerini yeni konuma işaret edecek şekilde günceller.
Yanlış kullanımlar veya hatalı uygulamalar: Geçici taşımalar için 301 kullanmak (bunun yerine 302 kullanın), kullanıcıları etrafta zıplatan yönlendirme zincirleri oluşturmak veya daha sonra geri değiştirmek isteyebileceğiniz durumlarda 301 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
302 durum kodu nedir?
HTTP: 302 Found
Sunucular ne zaman ve neden döndürür: Kaynak geçici olarak farklı bir konumda. “Bugün pazardayız” diyen bir mağaza tabelası gibi - yarın normal yerlerinde olacaklar.
Pratik kullanım örnekleri: Site bakımı sırasında kullanıcıları yönlendirme, bazı kullanıcıların farklı bir sürüme gittiği A/B testi, özel sayfalara yönlendiren mevsimsel promosyonlar veya sunucular arasında yük dengeleme.
İstemciler bu duruma nasıl yanıt vermeli: Şimdilik geçici konuma gidin, ancak gelecekteki istekler için orijinal URL’yi kullanmaya devam edin. Yer imlerini veya kalıcı referansları güncellemeyin.
Yanlış kullanımlar veya hatalı uygulamalar: Kalıcı taşımalar için 302 kullanmak (bunlar için 301 kullanın), A’nın B’ye ve B’nin A’ya geri gönderdiği yönlendirme döngüleri oluşturmak veya HTTP yöntemini korumak gerektiğinde 302 kullanmak (307 kullanın).
Ek referans için Mozilla.org Geliştirici Belgesi
303 durum kodu nedir?
HTTP: 303 See Other
Sunucular ne zaman ve neden döndürür: İsteğinizi işledikten sonra (genellikle POST), sunucu GET kullanarak farklı bir sayfaya bakmanızı istiyor. Bir form göndermek ve “teşekkürler” sayfasına yönlendirilmek gibi.
Pratik kullanım örnekleri: Form gönderdikten sonra onay sayfasına yönlendirme; ödeme yaptıktan sonra makbuza yönlendirme; kullanıcılar sayfayı yenilediklerinde yinelenen gönderimleri önlemek istediğiniz herhangi bir zaman.
İstemciler bu duruma nasıl yanıt vermeli: Yeni URL’ye yeni bir GET isteği yapın. Bu, kullanıcılar sayfayı yenilediklerinde kazara yeniden gönderimi önler, çünkü yenileme formu yeniden göndermek yerine sadece son sayfayı yeniden yükleyecektir.
Yanlış kullanımlar veya hatalı uygulamalar: Orijinal yöntemi korumak istediğinizde 303 kullanmak (307 kullanın), kalıcı yönlendirmeler için kullanmak (301 kullanın) veya orijinal yöntemden bağımsız olarak yönlendirmenin her zaman GET kullanacağını unutmak.
Ek referans için Mozilla.org Geliştirici Belgesi
304 durum kodu nedir?
HTTP: 304 Not Modified
Sunucular ne zaman ve neden döndürür: Kaynak en son istediğinizden bu yana değişmedi, bu yüzden önbelleğe alınmış kopyanızı kullanın. Bir belgenin güncellenip güncellenmediğini kontrol etmek ve “hayır, hala aynı” denilmesi gibi.
Pratik kullanım örnekleri: Resim/CSS/JavaScript dosyalarının değişip değişmediğini kontrol eden tarayıcı önbellekleme, nadiren değişen API yanıtları veya değişmemiş verileri yeniden göndermeyerek bant genişliği tasarrufu yapmak istediğiniz herhangi bir durum.
İstemciler bu duruma nasıl yanıt vermeli: Zaten sahip olduğunuz önbelleğe alınmış sürümü kullanın. Bu yanıtla birlikte yeni veri gelmez - sadece önbelleğe alınmış kopyanızın hala iyi olduğunu onaylar.
Yanlış kullanımlar veya hatalı uygulamalar: 304 ile veri göndermek (boş olmalı), gerçekten değiştirilmişken “değiştirilmedi” demek veya bunun çalışmasını sağlayan özel başlıkları düzgün şekilde işlememek.
Ek referans için Mozilla.org Geliştirici Belgesi
305 durum kodu nedir?
HTTP: 305 Use Proxy
Sunucular ne zaman ve neden döndürür: Bu durum kodu kullanımdan kaldırılmıştır ve asla kullanılmamalıdır. Güvenlik sorunları vardı ve web topluluğu tarafından terk edildi.
Pratik kullanım örnekleri: Hiçbiri - bu durum kodu emekli ve herhangi bir modern uygulamada kullanılmamalıdır.
İstemciler bu duruma nasıl yanıt vermeli: Modern istemciler güvenlik endişeleri nedeniyle bu durum kodunu görmezden gelmelidir. Tarihsel bir kalıntıdır.
Yanlış kullanımlar veya hatalı uygulamalar: Bu durum kodunu kullanmak başlı başına bir hatadır. İyi güvenlik nedenleriyle kullanımdan kaldırılmıştır ve modern uygulamalarda asla görünmemelidir.
Ek referans için Mozilla.org Geliştirici Belgesi
307 durum kodu nedir?
HTTP: 307 Temporary Redirect
Sunucular ne zaman ve neden döndürür: Geçici olarak başka bir URL’ye yönlendirin, ancak 302’den farklı olarak istemci aynı yöntemi kullanmalıdır. Orijinal istek POST ise, yönlendirme de POST olmalıdır.
Pratik kullanım örnekleri: Yöntemi koruması gereken bakımdaki API uç noktaları, istek bütünlüğünü koruyan yük dengeleme veya POST’tan GET’e değiştirmenin bir şeyleri bozacağı herhangi bir geçici yönlendirme.
İstemciler bu duruma nasıl yanıt vermeli: Orijinal istekle tam olarak aynı yöntem ve gövdeyi kullanarak yeni URL’ye yönlendirin. Bu, 302 yönlendirmelerinden daha katıdır.
Yanlış kullanımlar veya hatalı uygulamalar: Kalıcı taşımalar için 307 kullanmak (308 kullanın), yöntem koruması önemli olmadığında kullanmak (302 daha basit) veya istemcilerin istek gövdesini yeniden göndermesi gerektiğini fark etmemek.
Ek referans için Mozilla.org Geliştirici Belgesi
308 durum kodu nedir?
HTTP: 308 Permanent Redirect
Sunucular ne zaman ve neden döndürür: 301 gibi, ancak yöntemin değişmeyeceğini garanti eder. Eski URL’ye POST yaptıysanız, yeni URL’ye de POST yapmalısınız.
Pratik kullanım örnekleri: POST/PUT/DELETE kabul eden API uç noktalarını kalıcı olarak taşıma, yöntem bütünlüğünü korurken RESTful servisleri yeniden yapılandırma veya HTTP yönteminin korunması gereken herhangi bir kalıcı taşıma.
İstemciler bu duruma nasıl yanıt vermeli: Yeni URL’yi kullanmak için referansları kalıcı olarak güncelleyin ve yönlendirmeyi takip ederken her zaman orijinal istekle aynı HTTP yöntemini kullanın.
Yanlış kullanımlar veya hatalı uygulamalar: Geçici taşımalar için 308 kullanmak (307 kullanın), yöntem koruması önemli olmadığında kullanmak (301 daha yaygın olarak desteklenir) veya bunun eski istemcilerin anlamayabileceği daha yeni bir durum kodu olduğunu unutmak.
Ek referans için Mozilla.org Geliştirici Belgesi
4xx İstemci Hataları
Bu kodlar, istemcinin bir hata yapmış gibi göründüğünü belirtir.
400 durum kodu nedir?
HTTP: 400 Bad Request
Sunucular ne zaman ve neden döndürür: İsteğiniz bir şekilde bozuk veya geçersiz. Telefon numarası alanına e-postanızı yazmak gibi - sunucu işleyemez çünkü mantıklı değil.
Pratik kullanım örnekleri: İstek gövdesinde geçersiz JSON, eksik gerekli parametreler, yanlış veri türleri (sayı beklenirken metin göndermek), bozuk URL’ler veya istekteki herhangi bir sözdizimi hatası.
İstemciler bu duruma nasıl yanıt vermeli: Aynı isteği yeniden denemeyin - tekrar başarısız olacaktır. Önce sorunu düzeltin. Neyin yanlış olduğu hakkında ayrıntılar için yanıt gövdesini kontrol edin ve tekrar denemeden önce düzeltin.
Yanlış kullanımlar veya hatalı uygulamalar: Kimlik doğrulama sorunları için 400 kullanmak (401 kullanın), sunucu hataları için 400 döndürmek (5xx kullanın), sorunu düzeltmeye yardımcı olmayan belirsiz hata mesajları vermek veya herhangi bir hata için 400’ü her derde deva olarak kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
401 durum kodu nedir?
HTTP: 401 Unauthorized
Sunucular ne zaman ve neden döndürür: Bu kaynağa erişmek için giriş yapmanız veya kimlik bilgileri sağlamanız gerekiyor. Üyelik kartınızı göstermeden sadece üyelere özel bir alana girmeye çalışmak gibi.
Pratik kullanım örnekleri: Token olmadan korumalı API uç noktalarına erişme, süresi dolmuş giriş oturumları, eksik API anahtarları veya kim olduğunuzu kanıtlamanızı gerektiren bir kaynağa yapılan herhangi bir istek.
İstemciler bu duruma nasıl yanıt vermeli: Kullanıcıdan giriş yapmasını isteyin, giriş sayfasına yönlendirin veya yeniden denemeden önce geçerli kimlik bilgileri alın. API’ler için yeni bir kimlik doğrulama tokeni alın.
Yanlış kullanımlar veya hatalı uygulamalar: Kimlik bilgileri geçerli ama yetersiz olduğunda 401 kullanmak (403 kullanın), nasıl kimlik doğrulanacağı hakkında bilgi dahil etmeyi unutmak veya kimlik doğrulamayı (kim olduğunuz) yetkiyle (ne yapmaya izinli olduğunuz) karıştırmak.
Ek referans için Mozilla.org Geliştirici Belgesi
403 durum kodu nedir?
HTTP: 403 Forbidden
Sunucular ne zaman ve neden döndürür: Sunucu kim olduğunuzu anlıyor ama bu kaynağa erişmenize izin vermiyor. VIP alanına girmek için kimliğinizi göstermek ama listede olmadığınızın söylenmesi gibi.
Pratik kullanım örnekleri: Normal kullanıcı olarak yönetici özelliklerine erişmeye çalışmak, başka bir kullanıcının özel verilerini görmeye çalışmak, coğrafi kısıtlamalar (içerik ülkenizde mevcut değil) veya IP adresi engelleme.
İstemciler bu duruma nasıl yanıt vermeli: Aynı kimlik bilgileriyle yeniden denemeye zahmet etmeyin - çalışmayacaklar. “Erişim reddedildi” mesajı gösterin ve uygunsa uygun erişimin nasıl alınacağını açıklayın.
Yanlış kullanımlar veya hatalı uygulamalar: Kullanıcı giriş yapmadığında 403 kullanmak (401 kullanın), varlıklarını gizlemek için mevcut olmayan kaynaklar için 403 kullanmak (tartışmalı - 404 kullanabilirsiniz) veya erişimin neden yasaklandığı hakkında net olmamak.
Ek referans için Mozilla.org Geliştirici Belgesi
404 durum kodu nedir?
HTTP: 404 Not Found
Sunucular ne zaman ve neden döndürür: Sunucu istediğiniz URL’de hiçbir şey bulamıyor. Sadece boş bir arsanın olduğu bir sokak adresine gitmek gibi - ya adresi yanlış aldınız ya da orada olan her ne ise gitmiş.
Pratik kullanım örnekleri: URL’yi yanlış yazmak (google.com yerine gooogle.com gibi), silinen sayfalara eski yer imleriyle tıklamak, diğer web sitelerinden bozuk bağlantıları takip etmek, API uç noktalarında yazım hataları yapmak veya taşınmış veya yeniden adlandırılmış dosyalara erişmeye çalışmak.
İstemciler bu duruma nasıl yanıt vermeli: Kullanıcıların ne yapacaklarını anlamalarına yardımcı olan bir hata sayfası gösterin. İyi 404 sayfaları bir arama kutusu, popüler sayfalara bağlantılar, bozuk bağlantıyı bildirme yolu veya hatayı daha az sinir bozucu yapmak için eğlenceli bir mesaj içerir.
Yanlış kullanımlar veya hatalı uygulamalar: Erişim reddedildiğinde 404 kullanmak (“bunu göremezsiniz” için 403 kullanın), kasıtlı olarak sonsuza kadar kaldırılan şeyler için 404 döndürmek (410 “Gone” düşünün), genel yardımcı olmayan hata sayfaları göstermek veya yetkisiz kullanıcılardan bir şeyin var olduğunu gizlemek için 404 kullanmak (güvenlik için tartışmalı olsa da).
Ek referans için Mozilla.org Geliştirici Belgesi
405 durum kodu nedir?
HTTP: 405 Method Not Allowed
Sunucular ne zaman ve neden döndürür: Kaynak var ama kullandığınız HTTP yöntemini desteklemiyor. Sadece çekerek açılan bir kapıyı itmeye çalışmak gibi - kapı var, sadece doğru şekilde kullanmanız gerekiyor.
Pratik kullanım örnekleri: Salt okunur bir kaynağı DELETE etmeye çalışmak, sadece GET kabul eden bir uç noktaya POST göndermek, güncellenemeyen kaynaklar üzerinde PUT denemek veya sunucunun desteklemediği özel yöntemler kullanmak.
İstemciler bu duruma nasıl yanıt vermeli: Hangi yöntemlerin desteklendiğini görmek için Allow başlığını kontrol edin, ardından uygun bir yöntemle yeniden deneyin. Aynı yöntemi denemeye devam etmeyin - desteklenmiyor.
Yanlış kullanımlar veya hatalı uygulamalar: Desteklenen yöntemleri listeleyen gerekli Allow başlığını dahil etmemek, kaynak mevcut olmadığında 405 kullanmak (404 kullanın) veya sunucunun desteklemesi gereken ama henüz uygulamamış olduğu yöntemler için 405 döndürmek (501 düşünün).
Ek referans için Mozilla.org Geliştirici Belgesi
406 durum kodu nedir?
HTTP: 406 Not Acceptable
Sunucular ne zaman ve neden döndürür: Sunucu, kabul edeceğiniz bir formatta kaynağı sağlayamıyor. Sadece İngilizce ve İspanyolca sürümleri olan bir restoranda Fransızca menü istemek gibi.
Pratik kullanım örnekleri: Sadece XML sağlayan bir uç noktadan JSON istemek, sunucunun desteklemediği bir resim formatı istemek, dil müzakere başarısızlıkları veya herhangi bir içerik müzakere uyumsuzluğu.
İstemciler bu duruma nasıl yanıt vermeli: Sunucunun sağlayabileceği bir format istemek için Accept başlıklarınızı değiştirin veya mevcut formatları işleyin. Yanıt hangi formatların mevcut olduğunu listeleyebilir.
Yanlış kullanımlar veya hatalı uygulamalar: Makul bir varsayılan sağlayabileceğiniz durumlarda formatlar konusunda çok katı olmak, içerik müzakere dışı hatalar için 406 kullanmak veya hangi formatların mevcut olduğunu açıkça belirtmemek.
Ek referans için Mozilla.org Geliştirici Belgesi
407 durum kodu nedir?
HTTP: 407 Proxy Authentication Required
Sunucular ne zaman ve neden döndürür: Siz ve hedef arasındaki bir proxy sunucusu kimlik doğrulama gerektiriyor. Girmek istediğiniz binaya bile ulaşmadan önce güvenlik görevlisine kimlik göstermeniz gerekmesi gibi.
Pratik kullanım örnekleri: Çalışan girişi gerektiren kurumsal proxy sunucuları, kimlik doğrulama gerektiren ağ geçitleri, kimlik bilgileri gerektiren ücretli proxy hizmetleri veya herhangi bir kimlik doğrulamalı proxy kurulumu.
İstemciler bu duruma nasıl yanıt vermeli: Proxy-Authenticate başlığında belirtilen yöntemi kullanarak proxy sunucusuyla (hedef sunucuyla değil) kimlik doğrulaması yapın, ardından orijinal isteği yeniden deneyin.
Yanlış kullanımlar veya hatalı uygulamalar: Bunu normal 401 kimlik doğrulamasıyla karıştırmak, Proxy-Authenticate başlığını dahil etmemek veya proxy değil hedef sunucu kimlik doğrulama gerektirdiğinde 407 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
408 durum kodu nedir?
HTTP: 408 Request Timeout
Sunucular ne zaman ve neden döndürür: Sunucu tam isteği göndermenizi bekledi ama çok uzun sürdünüz. Bir restoranda sipariş vermeye başlamak ama o kadar uzun duraklamak ki garson çekip gider gibi.
Pratik kullanım örnekleri: Gecikmelere neden olan yavaş ağ bağlantıları, zayıf bağlantılar üzerinden büyük dosya yüklemeleri, istek iletimi sırasında donan istemci uygulamaları veya veri gönderirken ağ kesintileri.
İstemciler bu duruma nasıl yanıt vermeli: Tercihen daha iyi bir bağlantı veya daha küçük yük ile isteği yeniden deneyebilirsiniz. Büyük istekleri daha küçük parçalara ayırmayı veya ağ koşullarını iyileştirmeyi düşünün.
Yanlış kullanımlar veya hatalı uygulamalar: Sunucu yavaş olduğunda 408 kullanmak (bu 504’tür), makul olmayan derecede kısa zaman aşımları ayarlamak veya ağ düzeyindeki zaman aşımları yerine uygulama düzeyindeki zaman aşımları için 408 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
409 durum kodu nedir?
HTTP: 409 Conflict
Sunucular ne zaman ve neden döndürür: İsteğiniz kaynağın mevcut durumuyla çakışıyor. Zaten alınmış bir kullanıcı adı oluşturmaya çalışmak gibi - işlem mantıklı ama şu anda yapılamıyor.
Pratik kullanım örnekleri: Yinelenen bir kayıt oluşturmaya çalışmak, başka birinin şu anda düzenlediği bir belgeyi düzenlemek, işbirlikçi sistemlerde sürüm çakışmaları veya iş kurallarını ihlal etmek (bir kaynağı çift rezerve etmek gibi).
İstemciler bu duruma nasıl yanıt vermeli: Farklı bir değer seçerek, değişiklikleri birleştirerek veya çakışmanın geçmesini bekleyerek çakışmayı çözün. Yanıt, çakışmanın ne olduğunu ve nasıl çözüleceğini açıklamalıdır.
Yanlış kullanımlar veya hatalı uygulamalar: Doğrulama hataları için 409 kullanmak (422 düşünün), çakışmayı nasıl çözeceğinizi açıklamamak, izin sorunları için 409 kullanmak (403 kullanın) veya aslında istemci tarafından çözülemeyen çakışmaları bildirmek.
Ek referans için Mozilla.org Geliştirici Belgesi
410 durum kodu nedir?
HTTP: 410 Gone
Sunucular ne zaman ve neden döndürür: Kaynak burada vardı ama kasıtlı olarak kaldırıldı ve geri gelmeyecek. Yıkılmış bir binayı ziyaret etmek gibi - sadece geçici olarak kapalı değil, kalıcı olarak gitmiş.
Pratik kullanım örnekleri: Politika ihlalleri nedeniyle silinen makaleler veya gönderiler, sonsuza kadar üretimden kaldırılan ürünler, emekliye ayrılmış eski API sürümleri veya kasıtlı ve kalıcı olarak kaldırılan herhangi bir içerik.
İstemciler bu duruma nasıl yanıt vermeli: Yer imlerini kaldırın, bağlantıları güncelleyin ve kullanıcılara içeriğin kalıcı olarak gittiğini bildirin. Arama motorları bu URL’leri dizinlerinden kaldırmalıdır. Kontrol etmeye devam etmeyin - geri gelmiyor.
Yanlış kullanımlar veya hatalı uygulamalar: Geçici kaldırmalar için 410 kullanmak (503 kullanın), içeriği geri yükleyebileceğiniz durumlarda 410 kullanmak, hiç var olmamış şeyler için 410 kullanmak (404 kullanın) veya kaldırmanın kalıcı olduğundan emin olmamak.
Ek referans için Mozilla.org Geliştirici Belgesi
418 durum kodu nedir?
HTTP: 418 I’m a teapot
Sunucular ne zaman ve neden döndürür: Bu, kahve makinelerini kontrol etme hakkında bir 1 Nisan RFC’sinden gelen bir şaka durum kodudur. “Ben bir çaydanlığım ve benden kahve yapmamı istediniz, bunu yapamam” anlamına gelir.
Pratik kullanım örnekleri: Uygulamalardaki paskalya yumurtaları, programlama kurslarında HTTP’nin genişletilebilirliğini göstermek, geliştirme/test ortamlarına mizah eklemek veya uygun bağlamlarda eğlenceli bir yanıt olarak.
İstemciler bu duruma nasıl yanıt vermeli: Eğlenceli bir yanıt olarak tanıyın ve uygun şekilde işleyin - belki eğlenceli bir hata mesajı veya çayla ilgili görseller görüntüleyin. Bunu ciddi üretim ortamlarında beklemeyin.
Yanlış kullanımlar veya hatalı uygulamalar: Üretim sistemlerinde gerçek hatalar için 418 kullanmak, can sıkıcı olacak kadar aşırı kullanmak veya şakayı anlamayacak kullanıcılara döndürmek.
Ek referans için Mozilla.org Geliştirici Belgesi
422 durum kodu nedir?
HTTP: 422 Unprocessable Entity
Sunucular ne zaman ve neden döndürür: İstek formatınız doğru ama içerik mantıklı değil. Bir formu doğru doldurmak ama imkansız veriler girmek gibi - 300 yaşında olmak veya gelecekte doğmuş olmak gibi.
Pratik kullanım örnekleri: Form doğrulama başarısızlıkları (@ olmadan e-posta), iş kuralı ihlalleri (başlangıç tarihinden önce bitiş tarihi), API isteklerindeki semantik hatalar veya doğru biçimlendirilmiş verilerdeki herhangi bir mantıksal hata.
İstemciler bu duruma nasıl yanıt vermeli: Hangi doğrulamanın başarısız olduğunu anlamak için hata ayrıntılarını okuyun, verileri gereksinimleri karşılayacak şekilde düzeltin ve yeniden gönderin. Yapı iyi idi; içerik ayarlanmalı.
Yanlış kullanımlar veya hatalı uygulamalar: Sözdizimi hataları için 422 kullanmak (400 kullanın), belirli doğrulama hatası ayrıntıları sağlamamak, kimlik doğrulama/yetkilendirme sorunları için 422 kullanmak veya 422’yi mi 400’ü mü tetikleyeceği konusunda tutarsız olmak.
Ek referans için Mozilla.org Geliştirici Belgesi
429 durum kodu nedir?
HTTP: 429 Too Many Requests
Sunucular ne zaman ve neden döndürür: Çok hızlı çok fazla istek gönderiyorsunuz. Birini tekrar tekrar aramak gibi - sonunda cevap vermeyi bırakacaklar ve yavaşlamanızı söyleyecekler.
Pratik kullanım örnekleri: API hız sınırlama (örn. saatte 100 istek), kötüye kullanım veya DDoS saldırılarını önleme, sunucuları bunalmaktan koruma veya adil kullanım politikalarını uygulama.
İstemciler bu duruma nasıl yanıt vermeli: İstek yapmayı durdurun ve bekleyin. Ne zaman tekrar deneyebileceğinizi görmek için Retry-After başlığını kontrol edin. Üstel geri çekilme uygulayın - her yeniden deneme girişimi arasında daha uzun bekleyin.
Yanlış kullanımlar veya hatalı uygulamalar: İstemcilere rehberlik etmek için Retry-After başlığı dahil etmemek, normal kullanım için çok düşük limitler koymak, diğer aşırı yük türleri için 429 kullanmak (503 düşünün) veya hız limitlerini açıkça belgelememek.
Ek referans için Mozilla.org Geliştirici Belgesi
451 durum kodu nedir?
HTTP: 451 Unavailable For Legal Reasons
Sunucular ne zaman ve neden döndürür: İçerik yasal gereksinimler nedeniyle engellendi. Ray Bradbury’nin sansür hakkındaki “Fahrenheit 451” adlı eserinden adını alan bu durum, hükümet veya yasal engellemeyi gösterir.
Pratik kullanım örnekleri: Mahkeme kararıyla engellenen içerik, DMCA kaldırma bildirimleri, yerel yasalar nedeniyle coğrafi kısıtlamalar, hükümet sansür gereksinimleri veya yasal olarak zorunlu herhangi bir içerik engelleme.
İstemciler bu duruma nasıl yanıt vermeli: Kullanıcılara içeriğin yasal olarak kısıtlandığını bildirin. Yanıt, engellemeyi kimin talep ettiği hakkında ayrıntılar içerebilir (yasal olarak paylaşılmasına izin veriliyorsa).
Yanlış kullanımlar veya hatalı uygulamalar: Yasal olmayan engellemeler için 451 kullanmak (uygun 4xx kodu kullanın), mümkün olduğunda yasal engellemeler hakkında şeffaf olmamak veya yasal gereksinimler yerine gönüllü içerik politikaları için 451 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
5xx Sunucu Hataları
Bu kodlar, sunucunun geçerli bir isteği yerine getirmede başarısız olduğunu gösterir.
500 durum kodu nedir?
HTTP: 500 Internal Server Error
Sunucular ne zaman ve neden döndürür: Sunucu tarafında bir şeyler ters gitti ve nasıl başa çıkacağını bilmiyor. Bir mağazadaki yazar kasanın çökmesi gibi - sorun ödeme yönteminizle değil, sistemleri bozuldu.
Pratik kullanım örnekleri: Veritabanı bağlantısı başarısız olduğunda, sunucu kodunda bir hata olduğunda, sunucu belleği tükendiğinde veya programcıların öngörmediği herhangi bir beklenmedik çökme.
İstemciler bu duruma nasıl yanıt vermeli: Kullanıcılara bir şeylerin ters gittiğini söyleyin ve daha sonra tekrar denemelerini önerin. Bir gecikmeden sonra otomatik olarak yeniden deneyebilirsiniz, çünkü bu hatalar genellikle geçicidir.
Yanlış kullanımlar veya hatalı uygulamalar: Kullanıcı hataları için 500 kullanmak (bunlar için 4xx kodları kullanın), kullanıcılara ayrıntılı hata mesajları göstermek (güvenlik riski!), sorunu düzeltmek için yeterli ayrıntı kaydetmemek veya herhangi bir hata için tembel bir her derde deva olarak 500 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
501 durum kodu nedir?
HTTP: 501 Not Implemented
Sunucular ne zaman ve neden döndürür: Sunucu istediğiniz işlevselliği desteklemiyor. Temel bir hesap makinesinden grafik çizmesini istemek gibi - ne istediğinizi anlıyor ama bu özelliğe sahip değil.
Pratik kullanım örnekleri: Sunucunun tanımadığı HTTP yöntemlerini kullanma, planlanmış ama henüz yapılmamış özellikleri isteme, modern işlevselliği desteklemeyen eski sunucular veya uygulanmamış özel yöntemler.
İstemciler bu duruma nasıl yanıt vermeli: Bu isteği yeniden denemeyin - sunucu bunu işleyemez. Farklı bir yaklaşım kullanın veya ihtiyacınızı başarmanın alternatif bir yolu olup olmadığını kontrol edin.
Yanlış kullanımlar veya hatalı uygulamalar: Geçici olarak devre dışı bırakılmış özellikler için 501 kullanmak (503 kullanın), tanıdığınız ama izin vermediğiniz yöntemler için 501 kullanmak (405 kullanın) veya uygulanması gereken eksik özellikler için 501’i bahane olarak kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
502 durum kodu nedir?
HTTP: 502 Bad Gateway
Sunucular ne zaman ve neden döndürür: Ağ geçidi veya proxy olarak davranan bir sunucu, yukarı akış sunucusundan geçersiz bir yanıt aldı. Birine mesaj iletmesini istemek ama “sorduğum kişi bana saçmalık verdi” diye geri gelmesi gibi.
Pratik kullanım örnekleri: Yük dengeleyici arka uç sunuculara ulaşamıyor, API ağ geçidi mikro hizmetlerden hata alıyor, ters proxy bozuk yanıtlar alıyor veya CDN kaynak sunucudan getiremiyor.
İstemciler bu duruma nasıl yanıt vermeli: Bu genellikle geçicidir, bu yüzden kısa bir gecikmeden sonra yeniden deneyin. Sorun sunucular arasında, isteğinizle değil, bu yüzden iletişim sorunlarını çözdüklerinde yeniden denemek işe yarayabilir.
Yanlış kullanımlar veya hatalı uygulamalar: Kaynak sunucunun kendi hataları için 502 kullanmak (500 kullanın), “ulaşılamıyor” ve “geçersiz yanıt” senaryolarını ayırt etmemek veya ağ geçidinin kendisinde sorunlar olduğunda 502 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
503 durum kodu nedir?
HTTP: 503 Service Unavailable
Sunucular ne zaman ve neden döndürür: Sunucu geçici olarak istekleri işleyemiyor. Bir mağazanın “bakım için kapalı” tabelası koyması gibi - geri gelecekler, ama şu anda değil.
Pratik kullanım örnekleri: Planlanmış bakım pencereleri, sunucu aşırı yük durumları, güncellemeler için geçici kesintiler, sunucu düzeyinde hız sınırlama veya isteklere hizmet edememede herhangi bir geçici yetersizlik.
İstemciler bu duruma nasıl yanıt vermeli: Bekleyin ve daha sonra tekrar deneyin. Ne zaman geri geleceğiniz konusunda rehberlik için Retry-After başlığını kontrol edin. Sunucu döndüğünde bunaltmamak için yeniden denemeler için üstel geri çekilme uygulayın.
Yanlış kullanımlar veya hatalı uygulamalar: Kalıcı sorunlar için 503 kullanmak (uygun hata kullanın), ne kadar süreceğini bildiğinizde Retry-After dahil etmemek, sunucu genelinde sorunlar yerine istemciye özgü sorunlar için 503 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
504 durum kodu nedir?
HTTP: 504 Gateway Timeout
Sunucular ne zaman ve neden döndürür: Ağ geçidi veya proxy olarak davranan bir sunucu, yukarı akış sunucusundan zamanında yanıt alamadı. Birine mesaj iletmesini istemek ama “bekledim bekledim, ama asla yanıt vermediler” diye geri gelmesi gibi.
Pratik kullanım örnekleri: Veritabanı sorgularının çok uzun sürmesi, aşırı yüklenmiş arka uç hizmetleri, sunucular arasındaki ağ sorunları, mikro hizmetlerin yeterince hızlı yanıt vermemesi veya sunucudan sunucuya iletişimde herhangi bir zaman aşımı.
İstemciler bu duruma nasıl yanıt vermeli: Yeniden deneyebilirsiniz, ancak işlemin pahalı veya yavaş olabileceğinin farkında olun. İsteğin yeniden denemek için yeterince kritik olup olmadığını düşünün ve makul yeniden deneme limitleri uygulayın.
Yanlış kullanımlar veya hatalı uygulamalar: İstemciler yavaş olduğunda 504 kullanmak (408 kullanın), makul işlemler için çok kısa zaman aşımları ayarlamak, farklı zaman aşımı senaryolarını ayırt etmemek veya kaynak sunucunun kendi zaman aşımları için 504 kullanmak.
Ek referans için Mozilla.org Geliştirici Belgesi
505 durum kodu nedir?
HTTP: 505 HTTP Version Not Supported
Sunucular ne zaman ve neden döndürür: Sunucu istekte kullanılan HTTP sürümünü desteklemiyor. DVD oynatıcıda Blu-ray disk oynatmaya çalışmak gibi - oynatıcı ne istediğinizi anlıyor ama o formatı işleyemiyor.
Pratik kullanım örnekleri: HTTP/2 istekleri alan sadece HTTP/1.0 destekleyen eski sunucular, daha yeni HTTP sürümlerini desteklemek için henüz yükseltilmemiş sunucular veya sunucunun tanımadığı özel/deneysel HTTP sürümleri.
İstemciler bu duruma nasıl yanıt vermeli: Farklı bir HTTP sürümü kullanarak isteği yeniden deneyin, genellikle evrensel olarak desteklenen HTTP/1.1’e geri dönün. Sunucunun hangi sürümleri desteklediğini kontrol edin.
Yanlış kullanımlar veya hatalı uygulamalar: Bir sürüm içindeki desteklenmeyen özellikler için 505 kullanmak (501 kullanın), sürüm müzakeresini zarif bir şekilde ele almaya çalışmamak veya desteklenmesi gereken standart HTTP sürümlerini reddetmek.
Ek referans için Mozilla.org Geliştirici Belgesi
507 durum kodu nedir?
HTTP: 507 Insufficient Storage
Sunucular ne zaman ve neden döndürür: Sunucunun isteği tamamlamak için yeterli depolama alanı yok. Sabit disk doluyken bir dosya kaydetmeye çalışmak gibi.
Pratik kullanım örnekleri: Dolu disk nedeniyle dosya yükleme başarısızlıkları, depolama kotalarına çarpan veritabanı işlemleri, ayrılmış alanı aşan WebDAV işlemleri veya mevcut olandan daha fazla depolama gerektiren herhangi bir işlem.
İstemciler bu duruma nasıl yanıt vermeli: Kullanıcıları depolama limitleri hakkında bilgilendirin. Eski içerik silmeniz, daha fazla depolama talep etmeniz veya depolamaya çalıştığınız şeyin boyutunu küçültmeniz gerekebilir.
Yanlış kullanımlar veya hatalı uygulamalar: Temizlenecek geçici depolama sorunları için 507 kullanmak (503 düşünün), depolamayı düzgün izlememek, fiziksel depolamayla ilgili olmayan kota sorunları için 507 kullanmak veya depolama limitleri hakkında bilgi sağlamamak.
Ek referans için Mozilla.org Geliştirici Belgesi
508 durum kodu nedir?
HTTP: 508 Loop Detected
Sunucular ne zaman ve neden döndürür: Sunucu isteği işlerken sonsuz bir döngü algıladı. Sonunda “adım 1’e bakın” diyen talimatları takip etmek gibi - sonsuza kadar döngüde kalırsınız.
Pratik kullanım örnekleri: Döngüsel referanslar içeren WebDAV işlemleri, kendilerine geri dönen yönlendirme zincirleri, döngüler oluşturan sembolik bağlantılar veya sonsuz tekrar ettiğini algılayan herhangi bir sunucu işlemi.
İstemciler bu duruma nasıl yanıt vermeli: Aynı isteği yeniden denemeyin - aynı döngüye çarpacaktır. Veri yapınızdaki döngüsel referansları kontrol edin ve tekrar denemeden önce düzeltin.
Yanlış kullanımlar veya hatalı uygulamalar: Döngü olmayan hatalar için 508 kullanmak, uygun döngü algılama uygulamamak, istemci tarafı yönlendirme döngüleri için 508 kullanmak (bunlar farklı görünür) veya yanlış pozitifleri döngü olarak algılamak.
Ek referans için Mozilla.org Geliştirici Belgesi
511 durum kodu nedir?
HTTP: 511 Network Authentication Required
Sunucular ne zaman ve neden döndürür: İnternete erişmeden önce ağın kendisiyle kimlik doğrulamanız gerekiyor. Herhangi bir web sitesine göz atmadan önce otel WiFi’sine giriş yapmanız gerekmesi gibi.
Pratik kullanım örnekleri: Otel veya havaalanı WiFi giriş sayfaları, kurumsal ağ erişim portalları, hizmet şartlarını kabul etmeyi gerektiren halka açık WiFi veya herhangi bir captive portal durumu.
İstemciler bu duruma nasıl yanıt vermeli: Kullanıcıları ağ giriş sayfasına yönlendirin (genellikle yanıtta sağlanır). Ağla kimlik doğrulamasını yaptıklarında, orijinal isteklerini yeniden deneyebilirler.
Yanlış kullanımlar veya hatalı uygulamalar: Web sitesi giriş gereksinimleri için 511 kullanmak (401 kullanın), proxy kimlik doğrulama için 511 kullanmak (407 kullanın) veya güvenli bağlantıları bozan şekillerde captive portal uygulamak.
Ek referans için Mozilla.org Geliştirici Belgesi