HTTP Durum Kodları
1xx (İnformational Response) Bilgilendirme Yanıtı
100 ( Continue ) Devam Etmek
HTTP Durum kodları Sunucu, istek başlıklarını aldı ve istemci, istek gövdesini göndermeye devam etmelidir bir gövdenin gönderilmesi gereken bir istek olması durumunda gereken bir istek durumunda bu hattayı gönderir.
Bir istek uygunsuz başlıklar nedeniyle reddedildik’ den sonra bir istek yapılılır sunucuya aktarılır, büyük bir istek gövdesi gönderme verimsiz olacaktır.
Bir sunucunun isteğin başlıklarını kontrol etmesi için, bir istemcinin ilk isteğinde bir başlık olarak Expect: 100-continue göndermesi ve gövdeyi göndermeden önce yanıt olarak bir 100 Continue durum kodu alması gerekir, uygunsuz başlıklar nedeniyle reddedilmek verimsiz olur.
101 (Switching Protocols) Anahtar Protokolleri
İstek sahibi, sunucudan protokolleri değiştirmesini istedi ve sunucu bunu yapmayı kabul etti.
102(Processin) İşleme (WebDav; RFC 25″8)
Bir WebDAV isteği, dosya işlemlerini içeren ve isteğin tamamlanması uzun zaman alan birçok alt istek içerebilir.
Bu kod, sunucunun isteği aldığını ve işlemekte olduğunu ancak henüz yanıt alınamadığını gösterir. Bu, istemcinin zaman aşımına uğramasını ve isteğin kaybolduğunu varsaymasını engeller.
103 (Early Hints) Erken İpuçları (RFC 8297)
Son HTTP mesajından önce bazı yanıt başlıklarını döndürmek içindir.
2xx (Succes) Başarı
200 (Ok) Tamam
201 ( Created) Oluşturan
202 (Accepted) Kabul Edildi
203 (Non-Authoritative Information) Yetkili Olmayan Bilgi (HTTP/1.1′ den Beri)
Sunucu, kaynağından 200 OK alan, ancak kaynağın yanıtının değiştirilmiş bir sürümünü döndüren bir dönüştürücü proxy’dir.
Örneğin: Bir web hızlandırıcıdır.
204 (No Content) İçerik Yok
205 (Reset Content) İçeriği Sıfırla
206 (Partial Content) Kısmi İçerik
Sunucu, kaynağın yalnızca bir kısmını teslim ediyor, kaynağından 200 OK aldı, ancak kaynağın yanıtının değiştirilmiş bir sürümünü döndürüyor.
204 İçerik Yok Sunucu isteği başarıyla işledi ve herhangi bir içerik döndürmüyor.
205 İçeriği Sıfırla Sunucu isteği başarıyla işledi, istek sahibinden belge görünümünü sıfırlamasını istiyor ve herhangi bir içerik döndürmüyor.
206 Kısmi İçerik Sunucu, kaynağın yalnızca bir kısmını teslim ediyor. İstemci tarafından gönderilen bir aralık başlığı nedeniyle kaynağın yalnızca bir kısmını ( bayt porsiyon ) teslim ediyor.
Aralık başlığı, HTTP istemcileri tarafından kesintiye uğramış indirmelerin sürdürülmesini sağlamak veya bir indirmeyi birden çok eşzamanlı akışa bölmek için kullanılır.
207 (Multi-Status) Çoklu Durum (WebDav; RFC4918)
208 (Already Reported) Halihazırda Raporlandı (WebDav; RFC 5842)
Bir DAV bağlamasının üyeleri zaten(çoklu durum) yanıtının önceki bir bölümünde zaten numaralandırılmış dahil edilmemektedir.
226 IM Kullanıldı (RFC 3229) Sunucu, kaynak için bir isteği yerine getirdi ve yanıt bir temsildir. (multistatus) yanıtının önceki bir bölümünde ve tekrar dahil edilmiyor.
226 (IM Used) IM Kullanıldı (RFC 3229)
Sunucu, kaynak için bir isteği yerine getirdi ve yanıt bir temsildir.
3xx (Redirection) Yönlendirme
Bu durum kodu sınıfı, istemcinin isteği tamamlamak için ek işlem yapması gerektiğini belirtir. Bu durum kodlarının birçoğu URL yönlendirmesinde kullanılmaktadır.
Bir kullanıcı aracısı , yalnızca ikinci istekte kullanılan yöntem GET veya HEAD ise, kullanıcı etkileşimi olmadan ek olarak gerçekleştirebilir.
300( Multiple Choices) Çoktan Seçenek
İstemcinin seçebileceği kaynak için birden çok seçeneği belirtir.
Örneğin: bu kod birden çok video formatı seçeneği sunmak, farklı dosya adı uzantılarına sahip dosyaları listelemek veya kelime anlamında anlam ayrımı önermek için kullanılabilir.
301 (301 Moved Permanently) Kalıcı Olarak Taşındı
Bu ve gelecekteki tüm istekler verilen URL’ye yönlendirilmelidir.
302 Bulundu (Önceden “Geçici Olarak Taşındı”)
İstemciye başka bir URL’ye bakmasını (göz atmasını) söyler.
HTTP/1.0 spesifikasyonu (RFC 1945), istemcinin aynı yöntemle geçici bir yeniden yönlendirme gerçekleştirmesini gerektiriyordu, (orijinal açıklama ifadesi ” Geçici Olarak Taşındı” idi ), ancak popüler tarayıcılar, yöntemi GET olarak değiştirerek 302 yönlendirme uyguladı.
Bu nedenle HTTP/1.1, iki davranış arasında ayrım yapmak için 303 ve 307 durum kodlarını ekledi.
303 Bkz. Diğer (HTTP/1.1′ den Beri)
HTTP Durum Kodları İsteğe verilen yanıt, GET yöntemi kullanılarak başka bir URL altında bulunabilir.
304 Değiştirilmemiş Kaynak
If-Modified-Since veya If-None-Match istek başlıkları tarafından belirtilen sürümden bu yana değiştirilmediğini gösterir.
Böyle bir durumda, istemcinin önceden indirilmiş bir kopyası hala olduğundan, kaynağı yeniden iletmeye gerek yoktur.
305 Proxy Kullan (HTTP/1.1′ den Beri)
İstenen kaynak, yalnızca adresi yanıtta sağlanan bir proxy aracılığıyla kullanılabilir.
Güvenlik nedeniyle, birçok HTTP istemcisi ( Mozilla Firefox gibi) ve (Internet Explorer ) bu durum koduna uymaz.
306 (Switch Proxy) Anahtar Proxy’si
Artık Kullanılmıyor. Başlangıçta, ” Sonraki istekler belirtilen proxy’yi kullanmalıdır” anlamına geliyordu.
307 (emporary Redirect ) Geçici Yönlendirme (HTTP/1.1’den beri)
Bu durumda istek başka bir URI ile tekrarlanmalıdır; ancak, gelecekteki istekler yine de orijinal URL’ yi kullanmalıdır.
302’nin tarihsel olarak nasıl uygulandığının aksine, orijinal istek yeniden yayınlanırken istek yönteminin değiştirilmesine izin verilmez.
Örneğin: Bir POST isteği tekrarlanmalıdır. Başka bir POST isteği kullanarak, 308 Kalıcı Yönlendirme bu ve gelecekteki tüm istekler verilen URL’ ye yönlendirilmelidir.
308 (Permanent Redirect) Kalıcı Yönlendirme
Bu ve gelecekteki tüm istekler verilen URL’ ye yönlendirilmelidir. 308, 301′ in davranışına paraleldir, ancak HTTP yönteminin değişmesine izin vermez.
Örneğin: Kalıcı olarak yeniden yönlendirilen bir kaynağa form göndermek sorunsuz bir şekilde devam edebilir.
4xx (Client Errors) İstemci Hataları
Bu durum kodu sınıfı, hatanın istemciden kaynaklanmış gibi göründüğü durumlar için tasarlanmıştır.
Bir “Head” isteğine yanıt verildiği zamanlar dışında, sunucu, hata durumunun açıklamasını ve bunun geçici mi yoksa kalıcı bir durum mu olduğunu içeren bir varlık içermelidir.
Bu durum kodları, herhangi bir istek yöntemi için geçerlidir.
400 (Bad Request) Gereksiz İstek
Sunucu, belirgin bir istemci hatası nedeniyle isteği işleyemez veya işlemeyecektir.
401 (Unauthorized) Yetkisiz
Yetkisiz 403 Yasak’a benzer, ancak özellikle kimlik doğrulamanın gerekli olduğu ve başarısız olduğu veya henüz sağlanmadığı durumlarda kullanım içindir.
Yanıt, istenen kaynak için geçerli bir sorgulama içeren bir “WWW-Authenticate” başlık alanı içermelidir.
402 (Payment Required) Ödeme Gerekli
İleride kullanılmak üzere ayrılmıştır. Asıl amaç, bu kodun nakit veya mikro ödeme planının bir parçasıdır.
Örneğin: GNU Taler tarafından önerildiği gibi, bir tür dijital nakit veya mikro ödeme planının bir parçası olarak kullanılabilmesiydi, ancak bu henüz olmadı ve bu kod yaygın olarak kullanılmıyor.
403 (Fobbidden) Yasak
Talep geçerli veriler içeriyordu ve tarafından anlaşıldı sunucu, ancak sunucu eylemi reddediyor.
Bunun nedeni, kullanıcının bir kaynak için gerekli izinlere sahip olmaması veya bir tür hesaba ihtiyaç duyması veya yasaklanmış bir eylemi gerçekleştirmesidir.
Örneğin: Yalnızca bir tanesine izin verilen bir kaydın kopyasını oluşturmak olabilir.
404 (Not Found) Bulunamadı
İstenen kaynak bulunamadı, ancak gelecekte mevcut olabilir. Sonraki müşterinin isteklerine izin verilir.
405 (Method Not Allowed) Yönteme İzin Verilmiyor
İstenen kaynak için bir istek yöntemi desteklenmiyor.
Örneğin: Verilerin POST yoluyla sunulmasını gerektiren bir formdaki bir GET isteği veya salt okunur bir kaynaktaki bir PUT isteğidir.
406 (Not Acceptable) Kabul Edilemez
İstenen kaynak, istekte gönderilen kabul başlıklarına göre yalnızca kabul edilemez içeriği üretebilir .
407 (Proxy Authentication Required) Proxy Kimlik Doğrulaması Gerekli
İstemcinin önce proxy ile kimliğini doğrulaması gerekir .
408 (Request Timeout) İstek Zaman Aşımı
Sunucu, isteği beklerken zaman aşımına uğradı.
HTTP belirtimlerine göre: “İstemci sunucunun beklemeye hazır” olduğu süre içinde bir istek üretmedi. İstemci, isteği daha sonra herhangi bir değişiklik yapmadan “TEKRARLAYABİLİR.”
409 (Conflict) Anlaşmazlık
Çakışma kaynağın mevcut durumundaki çakışma nedeniyle aynı anda birden çok güncelleme arasındaki düzenleme çakışması nedeniyle isteğin işlenemediğini belirtir.
410 (Gone) Gitmiş
İstenen kaynağın daha önce kullanımda olduğunu ancak artık mevcut olmadığını ve tekrar kullanılamayacağını belirtir.
411 (Length Required) Uzunluk Gerekli
İstek, istenen kaynağın gerektirdiği içeriğin uzunluğunu belirtmedi.
412 (Precondition Failed) Ön Koşul Başarısız
Sunucu, istekte bulunanın istek başlık alanlarına koyduğu ön koşullardan birini karşılamıyor.
413 (Payload Too Large) Yük Çok Büyük
İstek, sunucunun işlemek istediğinden veya işleyebildiğinden daha büyükdür.
414 (URI Too Long) Çok Uzun
Çok uzun sağlanan URL, sunucunun işlemesi için çok uzundu.
Genellikle çok fazla verinin bir “GET” isteğinin sorgu dizesi olarak kodlanmasının sonucu, bu durumda bir “POST” isteğine dönüştürülmesi gerekir .
415 (Unsupported Media Type) Desteklenmeyen Ortam Türü
İstek varlığı, sunucu veya kaynağın desteklemediği bir ortam türüne sahip.
Örneğin: İstemci bir görüntüyü “image/svg+xml” olarak yükler, ancak sunucu görüntülerin farklı bir biçim kullanmasını gerektirir.
416 (Range Not Satisfiable) Aralık Karşılanamıyor
İstemci dosyanın bir bölümünü istedi (bayt sunumu), ancak sunucu bu bölümü sağlayamıyor.
Örneğin: müşteri dosyanın sonunun ötesinde kalan bir bölümünü isterse. Daha önce RFC 2616’da “İstenen Aralık Karşılanamadı” olarak adlandırılıyor.
417 (Expectation Failed) Beklenti Başarısız
Sunucu, istek başlığını bekliyoruz alanının gereksinimlerini karşılayamıyor.
418 I’m a teapot (RFC 2324, RFC 7168)
Bu kod tanımlandı 1998 yılında geleneksel IETF April Fools şakalarından biri olarak,
RFC 2324, Hyper Text Cezve Kontrol Protokolü ve gerçek HTTP sunucuları tarafından uygulanması beklenmiyor.
RFC, bu kodun kahve demlemek için talep edilen çaydanlıklar tarafından döndürülmesi gerektiğini belirtir.
Bu HTTP durumu , Google.com‘un “I’m a teapot” paskalya yumurtası gibi bazı web sitelerinde paskalya yumurtası olarak kullanılır.
Bazen bu durum kodu, daha uygun olan 403 Forbidden yerine engellenen bir isteğe yanıt olarak da kullanılır.
421 (Misdirected Request) Yanlış Yönlendirilmiş İstek
İstek, yanıt üretemeyen bir sunucuya yönlendirildi.
Örneğin: Yeniden bağlantı kullanımı nedeniyle sunucuya yönlendirildi.
422 (Unprocessable Entity) İşlenemeyen Varlık
İstek düzgün biçimlendirilmiş ancak anlamsal hatalar nedeniyle takip edilemedi.
423 (Locked) Kilitli (WebDAV; RFC 4918)
Erişilmekte olan kaynak kilitli.
424 (Failed Dependency) Başarısız Bağımlılık (WebDAV; RFC 4918)
İstek başarısız oldu çünkü başka bir isteğe bağlıydı ve bu istek başarısız oldu.
Örneğin: Bir PROPPATCH
425 (Too Early) Çok Erken (RFC 8470)
Sunucunun, yeniden yürütülebilecek bir isteği işleme riskini almak istemediğini belirtir
426 (Upgrade Required)Yükseltme Gerekli
İstemci yükseltme başlık alanında verilen TLS/1.3 gibi farklı bir protokole geçmelidir .
428 (Precondition Required) Önkoşul Gerekli (RFC 6585)
Kaynak sunucu, isteğin koşullu olmasını gerektiriyor.
Bir istemcinin bir kaynağın durumunu aldığı, değiştirdiği ve bu arada bir üçüncü taraf sunucudaki durumu değiştirerek bir çakışmaya yol açtığında onu sunucuya geri koyduğu ‘kayıp güncelleme’ sorununu önlemeyi amaçlamaktadır.
429 (Too Many Requests) Çok Fazla İstek (RFC 6585)
Kullanıcı, belirli bir süre içinde çok fazla istek gönderdi. Hız sınırlayıcı şemalarla kullanım için tasarlanmıştır.
431(Request Header Fields Too Large) İstek Başlık Alanları Çok Büyük (RFC 6585)
Sunucu, tek bir başlık alanı veya toplu olarak tüm başlık alanları çok büyük olduğu için isteği işlemek istemiyor.
451 (Unavailable For Legal Reasons)Yasal Nedenlerle Kullanılamıyor (RFC 7725)
Bir sunucu operatörü, bir kaynağa veya istenen kaynağı içeren bir dizi kaynağa erişimi reddetmek için yasal bir talep aldı. 451 kodu, Fahrenheit 451 romanına referans olarak seçilmiştir.
5xx (Server Errors) Sunucu Hataları
“5” rakamıyla başlayan yanıt durum kodları, sunucunun bir hatayla karşılaştığının farkında olduğu veya başka bir şekilde isteği yerine getiremeyeceği durumları belirtir.
Aynı şekilde, kullanıcı aracıları dahil edilen herhangi bir varlığı kullanıcıya göstermelidir.
500 (Internal Server Error) İç Sunucu Hatası
Beklenmeyen bir durumla karşılaşıldığında ve daha fazla spesifik mesaj uygun olmadığında verilen genel bir hata mesajıdır.
501 (Not Implemented) Uygulanmadı
Sunucu ya istek yöntemini tanımıyor ya da isteği yerine getirme yeteneğinden yoksun. Genellikle bu, gelecekteki kullanılabilirlik anlamına geliyor.
Örneğin: Bir web hizmeti API’sinin yeni bir özelliği gibirdir.
502 (Bad Gateway) Hatalı Ağ Geçidi
Sunucu, ağ geçidi veya proxy görevi görüyordu ve yukarı akış sunucusundan geçersiz bir yanıt aldı.
503 (Service Unavailable) Hizmet Kullanılamıyor
Sunucu isteği işleyemiyor çünkü aşırı yüklenmiş veya bakım nedeniyle çalışmıyor. Genelde bu geçici bir durumdur.
504 (Gateway Timeout) Ağ Geçidi Zaman Aşımı
Sunucu bir ağ geçidi veya proxy gibi davranıyordu ve yukarı akış sunucusundan zamanında bir yanıt almadı.
505 (HTTP Version Not Supported) HTTP Sürümü Desteklenmiyor
Sunucu, istekte kullanılan HTTP sürümünü desteklemiyor.
506 (Variant Also Negotiates) Varyant Ayrıca Pazarlık Ediyor (RFC 2295)
İstek için şeffaf içerik anlaşması, döngüsel bir referansla sonuçlanır.
507 (Insufficient Storage) Yetersiz Depolama (WebDAV; RFC 4918)
Sunucu, isteği tamamlamak için gereken temsili depolayamıyor.
508 (Loop Detected) Döngü Algılandı (WebDAV; RFC 5842)
Sunucu, isteği işlerken sonsuz bir döngü algıladı.
510 (Not Extended) Genişletilmemiş (RFC 2774)
Sunucunun isteği yerine getirmesi için isteğin daha fazla genişletilmesi gerekiyor .
511 (Network Authentication Required) Ağ Kimlik Doğrulaması Gerekli (RFC 6585)
İstemcinin ağ erişimi kazanmak için kimlik doğrulaması yapması gerekiyor.
Ağa erişimi kontrol etmek için kullanılan proxy’leri yakalayarak kullanılmak üzere tasarlanmıştır.
Örneğin: Bir Wi-Fi ortak erişim noktası aracılığıyla tam internet erişimi verilmeden önce “Hizmet Şartları’nın” kabul edilmesini zorunlu kılmak için kullanılan ” bağımsız portallar ” dır.