HTTP yanıtı durum kodları, belirli bir HTTP isteğinin başarıyla tamamlanıp tamamlanmadığını gösterir. Yanıtlar beş sınıfa ayrılmıştır:
- Bilgilendirici yanıtlar (
100
–199
) - Başarılı yanıtlar (
200
–299
) - Yönlendirme mesajları (
300
–399
) - İstemci hatası yanıtları (
400
–499
) - Sunucu hata yanıtları (
500
–599
)
Bilgi yanıtları
100 Continue
Bu geçici yanıt, istemcinin isteğe devam etmesi gerektiğini veya istek zaten bitmişse yanıtı yok sayması gerektiğini belirtir.
101 Switching Protocols
Bu kod, istemciden gelen bir istek başlığına yanıt olarak gönderilir ve sunucunun geçiş yaptığı protokolü belirtir.
102 Processing
( WebDAV)
Bu kod, sunucunun isteği aldığını ve işlemekte olduğunu ancak henüz yanıt alınamadığını gösterir.
103 Early Hints
Bu durum kodunun, sunucu bir yanıt hazırlarken kullanıcı aracısının kaynakları önceden yüklemeye başlamasına izin vererek, öncelikle başlıkla birlikte kullanılması amaçlanır .
Başarılı yanıtlar
200 OK
İstek başarılı oldu. “Başarı”nın sonuç anlamı HTTP yöntemine bağlıdır:
GET
: Kaynak alındı ve mesaj gövdesinde iletildi.HEAD
: Temsil başlıkları, herhangi bir mesaj gövdesi olmadan yanıta dahil edilir.PUT
veyaPOST
: Eylemin sonucunu açıklayan kaynak, mesaj gövdesinde iletilir.TRACE
: İleti gövdesi, sunucu tarafından alındığı şekliyle istek iletisini içerir.
201 Created
İstek başarılı oldu ve sonuç olarak yeni bir kaynak oluşturuldu. Bu genellikle POST
isteklerden veya bazı PUT
isteklerden sonra gönderilen yanıttır.
202 Accepted
Talep alındı ancak henüz işlem yapılmadı. HTTP’de daha sonra isteğin sonucunu belirten eşzamansız bir yanıt göndermenin bir yolu olmadığı için kesin değildir. Başka bir işlemin veya sunucunun isteği işlediği durumlara veya toplu işlemeye yöneliktir.
203 Non-Authoritative Information
Bu yanıt kodu, döndürülen meta verilerin kaynak sunucudan elde edilenle tam olarak aynı olmadığı, yerel veya üçüncü taraf bir kopyadan toplandığı anlamına gelir. Bu çoğunlukla aynalar veya başka bir kaynağın yedekleri için kullanılır. Bu özel durum dışında, 200 OK
yanıt bu duruma tercih edilir.
204 No Content
Bu istek için gönderilecek içerik yok, ancak başlıklar yararlı olabilir. Kullanıcı aracısı, bu kaynak için önbelleğe alınmış başlıklarını yenileriyle güncelleyebilir.
205 Reset Content
Kullanıcı aracısına bu isteği gönderen belgeyi sıfırlamasını söyler.
206 Partial Content
Bu yanıt kodu, Range bir kaynağın yalnızca bir kısmını istemek için istemciden başlık gönderildiğinde kullanılır.
207 Multi-Status( WebDAV )
Birden çok durum kodunun uygun olabileceği durumlar için birden çok kaynak hakkında bilgi iletir.
208 Already Reported( WebDAV )
<dav:propstat>
Aynı koleksiyona birden çok bağlamanın dahili üyelerini tekrar tekrar numaralandırmaktan kaçınmak için bir yanıt öğesinin içinde kullanılır .
226 IM Used
( HTTP Delta kodlaması )
Sunucu, GET
kaynak için bir isteği yerine getirdi ve yanıt, geçerli örneğe uygulanan bir veya daha fazla örnek düzenlemesinin sonucunun bir temsilidir.
Yönlendirme mesajları
300 Multiple Choices
İsteğin birden fazla olası yanıtı var. Kullanıcı aracısı veya kullanıcı bunlardan birini seçmelidir. (Yanıtlardan birini seçmenin standartlaştırılmış bir yolu yoktur, ancak kullanıcının seçebilmesi için olasılıklara HTML bağlantıları önerilir.)
301 Moved Permanently
İstenen kaynağın URL’si kalıcı olarak değiştirildi. Yeni URL yanıtta verilir.
302 Found
Bu yanıt kodu, istenen kaynağın URI’sinin geçici olarak değiştirildiği anlamına gelir . Gelecekte URI’de başka değişiklikler yapılabilir. Bu nedenle, aynı URI müşteri tarafından gelecekteki isteklerde kullanılmalıdır.
303 See Other
Sunucu, istemciyi istenen kaynağı bir GET isteği ile başka bir URI’de almaya yönlendirmek için bu yanıtı gönderdi.
304 Not Modified
Bu, önbelleğe alma amacıyla kullanılır. İstemciye yanıtın değiştirilmediğini söyler, böylece istemci yanıtın aynı önbelleğe alınmış sürümünü kullanmaya devam edebilir.305 Use Proxy
Kullanımdan kaldırıldı
HTTP belirtiminin önceki bir sürümünde, istenen yanıta bir proxy tarafından erişilmesi gerektiğini belirtmek için tanımlanmıştır. Bir proxy’nin bant içi yapılandırmasıyla ilgili güvenlik endişeleri nedeniyle kullanımdan kaldırılmıştır.306 unused
Bu yanıt kodu artık kullanılmamaktadır; sadece rezerve edilmiştir. HTTP/1.1 belirtiminin önceki bir sürümünde kullanıldı.
307 Temporary Redirect
Sunucu bu yanıtı, istemciyi istenen kaynağı önceki istekte kullanılan yöntemle aynı yöntemle başka bir URI’de almaya yönlendirmek için gönderir. Bu, kullanıcı aracısının kullanılan HTTP yöntemini değiştirmemesi dışında HTTP yanıt koduyla aynı anlamlara sahiptir: ilk302 Found
istekte a kullanılmışsa , ikinci istekte a kullanılmalıdır.
308 Permanent Redirect
Location:
Bu, kaynağın artık HTTP Response başlığı tarafından belirtilen başka bir URI’de kalıcı olarak bulunduğu anlamına gelir . Bu, kullanıcı aracısının kullanılan HTTP yöntemini değiştirmemesi dışında HTTP yanıt koduyla aynı anlamlara sahiptir: ilk301 Moved Permanently
istekte a kullanılmışsa , ikinci istekte a kullanılmalıdır.
İstemci hatası yanıtları
400 Bad Request
Sunucu, istemci hatası olarak algılanan bir şey nedeniyle isteği işleyemiyor veya işlemeyecek (örn. hatalı biçimlendirilmiş istek sözdizimi, geçersiz istek mesajı çerçevesi veya aldatıcı istek yönlendirme).
401 Unauthorized
HTTP standardı “yetkisiz” olarak belirtse de, anlamsal olarak bu yanıt “kimliği doğrulanmamış” anlamına gelir. Diğer bir deyişle, istemci, istenen yanıtı almak için kendi kimliğini doğrulamalıdır.
402 Payment Required
Bu yanıt kodu ileride kullanılmak üzere ayrılmıştır. Bu kodu oluşturmanın ilk amacı, onu dijital ödeme sistemleri için kullanmaktı, ancak bu durum kodu çok nadiren kullanılıyor ve standart bir kural yok.
403 Forbidden
İstemcinin içeriğe erişim hakları yoktur; yani yetkisizdir, bu nedenle sunucu istenen kaynağı vermeyi reddediyor. ‘dan farklı olarak 401 Unauthorized
, istemcinin kimliği sunucu tarafından bilinir.
404 Not Found
Sunucu istenen kaynağı bulamıyor. Tarayıcıda bu, URL’nin tanınmadığı anlamına gelir. Bir API’de bu, uç noktanın geçerli olduğu ancak kaynağın kendisinin olmadığı anlamına da gelebilir. 403 Forbidden
Sunucular , bir kaynağın varlığını yetkisiz bir istemciden gizlemek yerine bu yanıtı da gönderebilir . Bu yanıt kodu, web’de sık görülmesi nedeniyle muhtemelen en iyi bilinen koddur.
405 Method Not Allowed
İstek yöntemi sunucu tarafından biliniyor ancak hedef kaynak tarafından desteklenmiyor. Örneğin, bir API, DELETE
bir kaynağı kaldırmak için çağrı yapılmasına izin vermeyebilir.
406 Not Acceptable
Bu yanıt, web sunucusu, sunucu güdümlü içerik anlaşması gerçekleştirdikten sonra , kullanıcı aracısı tarafından verilen kriterlere uyan herhangi bir içerik bulamadığında gönderilir.
407 Proxy Authentication Required
Bu şuna benzer, 401 Unauthorized
ancak kimlik doğrulamanın bir proxy tarafından yapılması gerekir.
408 Request Timeout
Bu yanıt, bazı sunucular tarafından, istemci tarafından daha önce herhangi bir talepte bulunulmasa bile, boşta bir bağlantıda gönderilir. Bu, sunucunun kullanılmayan bu bağlantıyı kapatmak istediği anlamına gelir. Chrome, Firefox 27+ veya IE9 gibi bazı tarayıcılar gezinmeyi hızlandırmak için HTTP ön bağlantı mekanizmalarını kullandığından bu yanıt çok daha fazla kullanılır. Ayrıca, bazı sunucuların bu mesajı göndermeden yalnızca bağlantıyı kapattığını unutmayın.
409 Conflict
Bu yanıt, bir istek sunucunun mevcut durumuyla çakıştığında gönderilir.
410 Gone
Bu yanıt, istenen içerik hiçbir yönlendirme adresi olmadan sunucudan kalıcı olarak silindiğinde gönderilir. İstemcilerin önbelleklerini ve kaynağa olan bağlantılarını kaldırmaları beklenir. HTTP spesifikasyonu, bu durum kodunun “sınırlı süreli, promosyon hizmetleri” için kullanılmasını amaçlamaktadır. API’ler, bu durum koduyla silinen kaynakları belirtmek zorunda hissetmemelidir.
411 Length Required
Content-Length
Başlık alanı tanımlanmadığından ve sunucu bunu gerektirdiğinden sunucu isteği reddetti .
412 Precondition Failed
İstemci, başlıklarında sunucunun karşılamadığı ön koşulları belirtti.
413 Payload Too Large
İstek varlığı, sunucu tarafından tanımlanan sınırlardan daha büyük. Sunucu bağlantıyı kapatabilir veya bir Retry-After
başlık alanı döndürebilir.
414 URI Too Long
İstemci tarafından istenen URI, sunucunun yorumlamaya istekli olduğundan daha uzun.
415 Unsupported Media Type
İstenen verilerin ortam biçimi sunucu tarafından desteklenmiyor, dolayısıyla sunucu isteği reddediyor.
416 Range Not Satisfiable
İstekte başlık alanı tarafından belirtilen aralık Range
karşılanamıyor. Aralığın, hedef URI verilerinin boyutunun dışında olması mümkündür.
417 Expectation Failed
Bu yanıt kodu, istek başlık alanı tarafından belirtilen beklentinin Expect
sunucu tarafından karşılanamayacağı anlamına gelir.
418 I'm a teapot
Bu kod, 1998’de RFC 2324, Hiper Metin Cezve Kontrol Protokolü’nde geleneksel IETF 1 Nisan şakalarından biri olarak tanımlandı 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.
421 Misdirected Request
İstek, yanıt üretemeyen bir sunucuya yönlendirildi. Bu, istek URI’sinde bulunan şema ve yetki kombinasyonu için yanıtlar üretecek şekilde yapılandırılmamış bir sunucu tarafından gönderilebilir.
422 Unprocessable Entity
( WebDAV )
İstek iyi biçimlendirildi ancak anlamsal hatalar nedeniyle takip edilemedi.
423 Locked
( WebDAV )
Erişilmekte olan kaynak kilitli.
424 Failed Dependency
( WebDAV )
İstek, önceki bir isteğin başarısız olması nedeniyle başarısız oldu.
425 Too Early
Sunucunun, yeniden yürütülebilecek bir isteği işleme koyma riskini almak istemediğini gösterir.
426 Upgrade Required
Sunucu, mevcut protokolü kullanarak isteği gerçekleştirmeyi reddediyor ancak istemci farklı bir protokole yükselttikten sonra bunu yapmaya istekli olabilir. Sunucu Upgrade
, gerekli protokolleri belirtmek için 426 yanıtında bir başlık gönderir.
428 Precondition Required
Kaynak sunucu, isteğin koşullu olmasını gerektirir. Bu yanıtın amacı, bir istemcinin GET
kaynağının durumunu değiştirip PUT
sunucuya geri gönderdiği ve bu arada bir üçüncü taraf sunucudaki durumu değiştirip çakışmaya yol açtığında ‘kayıp güncelleme’ sorununu önlemektir.
429 Too Many Requests
Kullanıcı, belirli bir süre içinde çok fazla istek gönderdi (“oran sınırlaması”).
431 Request Header Fields Too Large
Başlık alanları çok büyük olduğu için sunucu isteği işlemek istemiyor. İstek başlığı alanlarının boyutu küçültüldükten sonra istek yeniden gönderilebilir.
451 Unavailable For Legal Reasons
Kullanıcı aracısı, hükümet tarafından sansürlenen bir web sayfası gibi yasal olarak sağlanamayan bir kaynak talep etti.
Sunucu hatası yanıtları
500 Internal Server Error
Sunucu, nasıl başa çıkacağını bilmediği bir durumla karşılaştı.
501 Not Implemented
İstek yöntemi sunucu tarafından desteklenmiyor ve işlenemiyor. Sunucuların desteklemesi gereken (ve dolayısıyla bu kodu döndürmemesi gereken) tek yöntem ve GET
yöntemleridir HEAD
.
502 Bad Gateway
Bu hata yanıtı, sunucunun isteği işlemek için gereken yanıtı almak üzere bir ağ geçidi olarak çalışırken geçersiz bir yanıt aldığı anlamına gelir.
503 Service Unavailable
Sunucu, isteği işlemeye hazır değil. Yaygın nedenler, bakım nedeniyle kapalı olan veya aşırı yüklenmiş bir sunucudur. Bu yanıtla birlikte sorunu açıklayan kullanıcı dostu bir sayfanın gönderilmesi gerektiğini unutmayın. Bu yanıt geçici durumlar için kullanılmalı ve Retry-After
HTTP başlığı, mümkünse hizmetin kurtarılmasından önceki tahmini süreyi içermelidir. Bu geçici koşul yanıtlarının genellikle önbelleğe alınmaması gerektiğinden, web yöneticisi bu yanıtla birlikte gönderilen önbelleğe almayla ilgili başlıklara da dikkat etmelidir.
504 Gateway Timeout
Bu hata yanıtı, sunucu bir ağ geçidi görevi gördüğünde ve zamanında yanıt alamadığında verilir.
505 HTTP Version Not Supported
İstekte kullanılan HTTP sürümü sunucu tarafından desteklenmiyor.
506 Variant Also Negotiates
Sunucuda dahili bir yapılandırma hatası var: seçilen varyant kaynağı, şeffaf içerik görüşmesini kendisi yapacak şekilde yapılandırıldı ve bu nedenle görüşme sürecinde uygun bir bitiş noktası değil.
507 Insufficient Storage
( WebDAV )
Sunucu, isteği başarıyla tamamlamak için gereken gösterimi depolayamadığından, yöntem kaynakta gerçekleştirilemedi.
508 Loop Detected
( WebDAV )
Sunucu, isteği işlerken sonsuz bir döngü algıladı.
510 Not Extended
Sunucunun isteği yerine getirmesi için isteğin daha fazla genişletilmesi gerekir.
511 Network Authentication Required
İstemcinin ağ erişimi kazanmak için kimlik doğrulaması yapması gerektiğini belirtir.