Ana içeriğe geç

Ücretsiz HTTP Durum Kodları Başvurusu

Tüm HTTP durum kodları için aranabilir başvuru — her birinin ne anlama geldiği, ne zaman kullanıldığı ve yaygın nedenler. 100'den 511'e kadar.

Yüklendikten sonra çevrimdışı çalışır

61 durum kodu

100

Devam et

Sunucu istek başlıklarını aldı ve istemci gövdeyle devam etmelidir.

Expect: 100-continue başlığı içeren istekler için kullanılır. Sunucu, istemci gövdeyi göndermeden önce almaya istekli olduğunu onaylar. Modern web uygulamalarında nadiren görülür.

RFC 9110 ↗
101

Protokoller Değiştiriliyor

Sunucu istemci tarafından istenen protokolleri değiştiriyor.

En yaygın olarak WebSocket yükseltmeleri için kullanılır — istemci Upgrade: websocket ister ve sunucu değiştirmek için 101 ile yanıt verir.

RFC 9110 ↗
102

İşleniyor

Sunucu isteği aldı ve işliyor, ancak henüz yanıt yok.

WebDAV: uzun işlemler sırasında istemci zaman aşımlarını önlemek için gönderilen bir ara yanıt. Kullanımdan kalktı — modern sunucular bunu göndermemelidir.

RFC 2518 ↗
103

Erken İpuçları

Son yanıttan önce gönderilen ön hazırlık başlıkları.

Sunucuların son yanıt hazırlanırken Link başlıkları (preload/preconnect) göndermesine olanak tanır, böylece tarayıcılar kritik varlıkları daha erken almaya başlayabilir.

RFC 8297 ↗
200

Tamam

İstek başarılı oldu.

Standart başarı yanıtı. Anlamı HTTP yöntemine bağlıdır: GET → kaynak döndürüldü, POST/PUT → işlem tamamlandı.

RFC 9110 ↗
201

Oluşturuldu

Yeni bir kaynak başarıyla oluşturuldu.

POST'tan sonra yaygındır. Yanıt, yeni kaynağın URL'sine işaret eden bir Location başlığı içermelidir.

RFC 9110 ↗
202

Kabul Edildi

İstek işlenmek üzere kabul edildi, ancak işlem tamamlanmadı.

Asenkron işlemler için — sunucu işi sıraya alıyor. İstemci bir durum uç noktasını yoklamalı veya daha sonra geri dönmelidir.

RFC 9110 ↗
203

Yetkisiz Bilgi

Yanıt dönüştürme proxy'si tarafından değiştirildi.

İstek başarılı oldu, ancak bir ara (önbelleğe alma veya dönüştürme proxy'si gibi) kaynak sunucudan yükü değiştirdi — örneğin, resimleri yeniden sıkıştırarak. Pratikte nadir görülür.

RFC 9110 ↗
204

İçerik Yok

İstek başarılı ancak yanıt gövdesi yok.

Genellikle DELETE işlemleri veya gövde döndürmeyen PUT güncellemeleri için kullanılır. İstemci geçerli sayfadan uzaklaşmamalıdır.

RFC 9110 ↗
205

İçeriği Sıfırla

İstek başarılı; istemci belge görünümünü sıfırlamalıdır.

204 gibi, hiçbir gövde döndürülmez — ancak istemciye ek olarak formu veya isteği üreten görünümü sıfırlaması söylenir (örn. bir sonraki giriş için form alanlarını temizle).

RFC 9110 ↗
206

Kısmi İçerik

Sunucu kaynağın yalnızca bir kısmını iletmiştir.

Bir Range isteğine yanıt. Video oynatıcıları ve indirme yöneticileri tarafından kesilen indirmeleri devam ettirmek veya büyük dosyaları akışa almak için kullanılır.

RFC 9110 ↗
207

Çoklu Durum

Yanıt gövdesi birden çok işlem için birden çok durum kodu içerir.

WebDAV: XML gövdesi birden çok alt işlemin sonucunu bağımsız olarak bildirir — örn. bazı öğelerin başarılı olduğu ve diğerlerinin başarısız olduğu bir toplu taşıma.

RFC 4918 ↗
208

Zaten Bildirildi

Bir koleksiyonun üyeleri yanıtın önceki kısımlarında zaten listelenmiştir.

WebDAV: bağlamalar döngü oluşturduğunda aynı koleksiyonun üyelerini 207 Multi-Status yanıtları içinde tekrar tekrar listelemekten kaçınmak için kullanılır.

RFC 5842 ↗
226

IM Kullanıldı

Yanıt, kaynağa uygulanan örnek manipülasyonların sonucudur.

Delta kodlaması: sunucu tam kaynak yerine önceki bir sürüme karşı bir fark döndürür, bant genişliğini kaydeder. Çok nadiren uygulanır.

RFC 3229 ↗
300

Birden Çok Seçim

Kaynağın birden çok temsili mevcuttur.

Sunucu birden çok seçenek sunar (örn. farklı formatlar veya diller) ve istemci birini seçmelidir. Nadiren kullanılır, çünkü otomatik içerik müzakereleri genellikle bunu ele alır.

RFC 9110 ↗
301

Kalıcı Olarak Taşındı

Kaynak kalıcı olarak yeni bir URL'ye taşındı.

Kalıcı URL değişiklikleri için kullanın — arama motorları dizinlerini güncelleyecek. SEO otoritesi yeni URL'ye aktarılır.

RFC 9110 ↗
302

Bulundu (Geçici Yönlendirme)

Kaynak geçici olarak farklı bir URL'dedir.

Yönlendirmenin kalıcı olmadığını gösterir. Önbelleğe alma 301'den daha az agresiftir. 'Giriş gerekli, /login'e yönlendiriliyor' gibi şeyler için kullanın.

RFC 9110 ↗
303

Diğerine Bakın

GET kullanarak farklı bir URL'ye yönlendir.

POST gönderimlerinden sonra kullanılır — yanıt 'POST'unuz işe yaradı, sonuç için bu GET URL'sine bakın' der. Tarayıcılar her zaman yeni URL'ye GET yapar.

RFC 9110 ↗
304

Değiştirilmedi

Önbelleğe alınan sürüm hala geçerlidir; kullanın.

Koşullu istek yanıtı (If-None-Match veya If-Modified-Since başlıklarıyla). Bant genişliğini kaydeder — hiçbir gövde döndürülmez.

RFC 9110 ↗
307

Geçici Yönlendirme

302 gibi ancak orijinal HTTP yöntemini korur.

Orijinal POST ise, yönlendirme de POST kullanır. Yöntem korunması önemli olduğunda 302'ye modern alternatif.

RFC 9110 ↗
308

Kalıcı Yönlendirme

301 gibi ancak orijinal HTTP yöntemini korur.

Yönlendirmeden sonra POST isteklerinin POST olarak kalmasını istediğinizde 301'in modern karşılığı.

RFC 9110 ↗
400

Kötü İstek

Sunucu, hatalı söz dizimi nedeniyle isteği anlayamadı.

Yaygın nedenler: gövdede hatalı JSON, geçersiz sorgu parametreleri veya eksik gerekli alanlar. İstek gövdesini ve başlıklarını kontrol edin.

RFC 9110 ↗
401

Yetkisiz

Kimlik doğrulama gerekli ve sağlanmamıştır.

İstemci kimlik doğrulama kimlik bilgilerini içermeli (Yetkilendirme başlığı, çerez, belirteç). 'Yetkisiz', bir yanlış isimdir — gerçekten 'kimlik doğrulaması yapılmamış' demektir.

RFC 9110 ↗
402

Ödeme Gerekli

Gelecekteki kullanım için ayrılmış — bazen ücretli API katmanları için kullanılır.

Orijinal olarak dijital ödemeler için amaçlanmıştır. Modern kullanım: API'ler bazen bir kullanıcı ücretli kotasını aştığında 402 döndürür.

RFC 9110 ↗
403

Yasaklı

İstemci kimlik doğrulaması yapılmış ancak izni yok.

401'den farklı — kullanıcı oturum AÇMIŞ, ancak hesabının bu kaynak için izni yok. Rol/izin mantığını kontrol edin.

RFC 9110 ↗
404

Bulunamadı

İstenen kaynak mevcut değildir.

Ya URL yanlış, kaynak silindi ya da hiç yoktu. Sunucular bazen 404 döndürerek 403'ün daha doğru olacağını gizlerler.

RFC 9110 ↗
405

Yönteme İzin Verilmiyor

Bu kaynak için kullanılan HTTP yöntemine izin verilmiyor.

Örneğin, yalnızca POST'u kabul eden bir uç noktaya GET isteği. Yanıt, geçerli yöntemleri listeleyen bir Allow başlığı içermelidir.

RFC 9110 ↗
406

Kabul Edilemez

Hiçbir temsil istemcinin Accept başlıklarıyla eşleşmiyor.

İstemci sunucunun karşılayamayacağı bir içerik türü, dil veya kodlama istedi (Accept, Accept-Language, Accept-Encoding aracılığıyla). Birçok sunucu katı müzakereyi atlar ve bunun yerine bir varsayılan döndürür.

RFC 9110 ↗
407

Proxy Kimlik Doğrulaması Gerekli

İstemci, proxy ile önce kimlik doğrulaması yapmalıdır.

401 gibi, ancak bir proxy tarafından verilir: istemci Proxy-Authorization kimlik bilgilerini göndermelidir. Kimlik doğrulayan proxy'lere sahip kurumsal ağlarda görülür.

RFC 9110 ↗
408

İstek Zaman Aşımı

Sunucu isteği beklerken zaman aşımına uğradı.

İstemci, istek gövdesini göndermek için çok uzun süre aldı veya bağlantıyı boşta bıraktı. İsteği tekrar deneyin.

RFC 9110 ↗
409

Çakışma

İstek, kaynağın mevcut durumu ile çakışıyor.

Genellikle eşzamanlı düzenleme çakışmaları veya yinelenen kaynak oluşturma için döndürülür (ör: zaten var olan bir e-postaya sahip kullanıcı oluşturma).

RFC 9110 ↗
410

Kalıcı Olarak Kaldırıldı

Kaynak silindi ve geri gelmeyecek.

404'ten daha güçlü — sunucu, kaynağın DAHA ÖNCE var olduğunu açıkça biliyor ancak kalıcı olarak kaldırıldı. Arama motorları dizinden kaldıracak.

RFC 9110 ↗
411

Uzunluk Gerekli

Sunucu Content-Length başlığı gerektirir.

İstek, Content-Length başlığı içermediği için reddedildi ve sunucu bilinmeyen boyutlu gövdeleri kabul etmiyor. Başlığı ekleyin ve tekrar deneyin.

RFC 9110 ↗
412

Ön Koşul Başarısız

İstek başlıklarındaki bir koşul karşılanmadı.

If-Match veya If-Unmodified-Since gibi koşullu başlıklar başarısız olduğunda döndürülür — genellikle iyimser kilitleme: sürümünüzden beri başka biri kaynağı değiştirdi. Yeniden getirin ve tekrar deneyin.

RFC 9110 ↗
413

Yük Çok Büyük

İstek gövdesi, sunucunun boyut limitini aşıyor.

Büyük dosyalar yüklenirken yaygındır. Sunucu yapılandırması (nginx, apache) maksimum gövde boyutu belirler. Sunucu yapılandırmasını kontrol edin.

RFC 9110 ↗
414

URI Çok Uzun

İstek URL'si, sunucunun uzunluk limitini aşıyor.

Genellikle çok uzun sorgu dizeleri tarafından neden olunur (ör: GET'te veri kodlama). POST gövdesine geçin veya kontrol ediyorsanız sunucu limitini yükseltin.

RFC 9110 ↗
415

Desteklenmeyen Medya Türü

Sunucu, gönderilen Content-Type'ı işleyemiyor.

Örneğin, yalnızca application/json kabul eden bir sunucuya application/xml gönderme. Content-Type başlığını doğru şekilde ayarlayın.

RFC 9110 ↗
416

Aralık Karşılanamaz

İstenen bayt aralığı, kaynağın boyutunun dışında.

Range başlığı, dosyada olmayan bir bölümü istiyor — ör: indirmeyi dosya sonunun ötesine kadar devam ettirme. Yanıt, gerçek boyutlu Content-Range içermelidir.

RFC 9110 ↗
417

Beklenti Başarısız

Sunucu, Expect başlığının gereksinimlerini karşılayamaz.

Sunucu Expect: 100-continue desteklemediğinde gönderilir. Bazı istemciler büyük POST'larda bu başlığı varsayılan olarak gönderir; devre dışı bırakmak genellikle hatayı çözer.

RFC 9110 ↗
418

Ben Bir Çaydanlığım

Sunucu, bir çaydanlık olduğu için kahve demlemeyi reddediyor.

1998'den bir Nisan Şakası (RFC 2324). Bazı gerçek API'ler bunu şakalar için veya kullanımdan kaldırılan uç noktaları işaretlemek için kullanır. Üretim kullanımı için değil.

RFC 2324 ↗
421

Yanlış Yönlendirilmiş İstek

İstek, yanıt üretemeyen bir sunucuya gönderildi.

HTTP/2 bağlantısı yeniden kullanımında yaygındır: istek, hedef ana bilgisayar adı için yapılandırılmamış bir sunucuya ulaştı. İstemci, yeni bir bağlantıda yeniden denemelidir.

RFC 9110 ↗
422

İşlenemeyen İçerik

İstek sözdizimsel olarak geçerli ama semantik olarak yanlış.

Örneğin, JSON doğru şekilde ayrıştırıldı ancak gerekli bir alan eksikti veya alan değeri aralığın dışındaydı. REST API doğrulama yanıtlarında yaygındır.

RFC 9110 ↗
423

Kilitli

Kaynak kilitli.

WebDAV: kaynak veya hedef kaynak başka bir istemci tarafından kilitlendi, bu nedenle işlem devam edemez. Kilitleme açılana kadar bekleyin veya uygun tokenle kırın.

RFC 4918 ↗
424

Başarısız Bağımlılık

İstek, önceki bağımlı bir istek başarısız olduğu için başarısız oldu.

WebDAV: bağımlı işlemlerin zincirinde, önceki bir işlem başarısız oldu, bu nedenle bu işlem gerçekleştirilmedi. Kök neden için önceki hataya bakın.

RFC 4918 ↗
425

Çok Erken

Sunucu, yeniden oynatılabilecek bir isteği işlemeyi reddediyor.

TLS 1.3 0-RTT (erken veri) ile ilgilidir: sunucu, yeniden oynatılmış olabilecek bir isteği işleme riskini almaz. İstemci, el sıkışma tamamlandıktan sonra yeniden denemelidir.

RFC 8470 ↗
426

Yükseltme Gerekli

İstemci, farklı bir protokole geçmeli.

Sunucu, isteği mevcut protokol üzerinde sunmayı reddediyor ancak yükseltmeden sonra yapacak — yanıt, gerekli protokolü adlandıran bir Upgrade başlığı içerir.

RFC 9110 ↗
428

Ön Koşul Gerekli

Sunucu, isteğin koşullu olmasını gerektiriyor.

Sunucu, kayıp güncelleme çakışmalarını önlemek için koşullu başlıklar (If-Match gibi) talep ediyor. Kaynağı getirin, ETag'ini alın ve If-Match ile yeniden gönderin.

RFC 6585 ↗
429

Çok Fazla İstek

İstemci hız sınırlandırılıyor.

Yavaşlayın. Yanıt, ne zaman tekrar deneneceğini gösteren bir Retry-After başlığı içermelidir. İstek kotaları olan API'lerde yaygındır.

RFC 6585 ↗
431

İstek Başlığı Alanları Çok Büyük

Başlıklar, sunucu tarafından işlemek için çok büyük.

Bir başlık veya toplam başlık boyutu sınırı aşıyor — çoğunlukla aşırı büyük çerezlerden kaynaklanır. Çerezleri temizleyin veya uygulamanızın onlarda sakladığı veriyi azaltın.

RFC 6585 ↗
451

Yasal Nedenlerden Dolayı Kullanılamaz

Yasal taleplerden dolayı erişim reddedildi.

Kaynak yasal nedenlerle engelleniyor — sansür, mahkeme kararları veya bölgesel düzenlemeler. Sayı, Fahrenheit 451 romanına bir göndermedir.

RFC 7725 ↗
500

İç Sunucu Hatası

Sunucu beklenmedik bir koşulla karşılaştı.

Sunucu tarafı hataları için genel bir varsayılan yanıt. Gerçek nedeni sunucu günlüklerinde arayın: işlenmeyen istisna, veritabanı hatası vb.

RFC 9110 ↗
501

Uygulanmadı

Sunucu, istenen işlevselliği desteklemez.

Örneğin, sunucu HTTP yöntemini tanımıyor. Pratikte nadirdir — çoğu zaman 405'i göreceksiniz.

RFC 9110 ↗
502

Kötü Ağ Geçidi

Sunucu, ağ geçidi olarak hareket ederken üst akış sunucusundan geçersiz bir yanıt aldı.

Microservis mimarilerinde yaygındır. Yük dengeleyiciniz veya ters proxy'niz arka uç hizmetinden hatalı bir yanıt aldı.

RFC 9110 ↗
503

Hizmet Kullanılamaz

Sunucu, şu anda isteği işleyemiyor.

Ya bakım için kapalı ya da aşırı yüklü. Yanıt bir Retry-After başlığı içermelidir. Genellikle dağıtımlar sırasında döndürülür.

RFC 9110 ↗
504

Ağ Geçidi Zaman Aşımı

Ağ geçidi sunucusu, üst akış sunucusundan yanıt beklerken zaman aşımına uğradı.

Arka uç hizmeti yeterince hızlı yanıt vermedi. Üst akış hizmetinin durumunu ve zaman aşımı yapılandırmalarını kontrol edin.

RFC 9110 ↗
505

HTTP Sürümü Desteklenmiyor

Sunucu, istekte kullanılan HTTP sürümünü desteklemez.

İsteğin ana HTTP sürümü sunucu tarafından desteklenmiyor. Modern istemcilerle neredeyse hiç görülmez.

RFC 9110 ↗
506

Varyant Ayrıca Müzakere Ediyor

Sunucunun içerik anlaşması yanlış yapılandırılması var.

Şeffaf içerik anlaşması bir döngüde bitti: seçilen varyantın kendisi de anlaşma yapacak şekilde yapılandırılmış. Bir sunucu yapılandırma hatasına işaret eder.

RFC 2295 ↗
507

Yetersiz Depolama

Sunucunun disk alanı yok.

Menşede WebDAV'a özgü ancak bazen genel sunucular tarafından kullanılır. Depolama kısıtlamaları nedeniyle sunucu isteği kaydedemediği anlamına gelir.

RFC 4918 ↗
508

Döngü Algılandı

Sunucu, isteği işlerken sonsuz bir döngü algıladı.

WebDAV: Depth: infinity isteği işlenirken döngüye girdi (ör: döngüsel bağlamalar). İşlem sonlandırıldı.

RFC 5842 ↗
510

Genişletilmedi

İsteğin diğer uzantıları gereklidir.

Eski HTTP Uzantı Çerçevesinden: sunucunun isteği yerine getirebilmesi için daha fazla bilgiye ihtiyacı var. Modern web'de fiilen kullanılmaz.

RFC 2774 ↗
511

Ağ Kimlik Doğrulaması Gerekli

İstemci, ağ erişimi sağlamak için kimlik doğrulaması yapmalıdır.

Captive portal'lar (otel/havaalanı WiFi) tarafından, kullanıcının harici sitelere erişmeden önce ağda oturum açması gerektiğini belirtmek için kullanılır.

RFC 6585 ↗

Yaygın kullanımlar

  • API Tasarımı için ReferansREST API'ları tasarlarken her yanıt için doğru durum kodunu seç.
  • Hata Kodlarını Hızlı Bir Şekilde AraUygulamanız kafa karıştırıcı bir HTTP hatası döndürdüğünde, bunun aslında ne anlama geldiğini ara.
  • HTTP Durum Kodlarını ÖğrenHTTP ve REST öğrenen öğrenci ve geliştiriciler için kapsamlı referans.
  • Olaylar Sırasında Hızlı ReferansÜretime ait olaylar sırasında her durum kodunun ne anlama geldiğini hızla ara.
  • API Belgelendirmesi ReferansıAPI belgelerini yazarken, döndürdüğünüz durum kodlarının yetkili açıklamalarına bağlantı verin.

Nasıl çalışır

Bu araç, beş sınıfın tamamını (1xx–5xx) kapsayan ve her biri tanımlayan RFC numarasıyla açıklanmış 63 HTTP durum kodundan oluşan sabit kodlu bir başvuru tablosu üzerine kurulu, istemci tarafında çalışan bir başvuru kaynağıdır. Sunucu çağrısı, harici API veya ağ isteği yoktur — tüm filtreleme ve gösterim JavaScript'in yerleşik dizi ve dize yöntemleri kullanılarak tarayıcıda gerçekleşir.

  1. 1
    Başvuru tablosu yüklenir
    IANA'ya kayıtlı 63 durum kodunun tamamı bu araca bir JavaScript dizisi olarak doğrudan gömülüdür; her giriş sayısal kodu, standart İngilizce adı, kategori sınıfını ve onu tanımlayan belirli RFC'yi taşır (ör. çoğu HTTP/1.1 kodu için RFC 9110, 429 Too Many Requests için RFC 6585, 418 I'm a Teapot için RFC 2324).
  2. 2
    Filtre bellekte çalışır
    Siz yazarken veya bir kategori filtresi seçerken JavaScript'in Array.filter'ı bellekteki liste üzerinde çalışır ve sorgunuzu durum kodu numarası, standart ad ve hem kısa hem uzun açıklama dizeleriyle String.includes kullanarak eşleştirir — gecikme yok, sunucuya gidiş-dönüş yok.
  3. 3
    Ayrıntılar RFC bağlantısıyla açılır
    Her sonuç bir HTML details/summary öğesi olarak görüntülenir. Bir girişi genişletmek uzun açıklamayı ve rfc-editor.org'daki yetkili RFC'ye doğrudan bir bağlantıyı gösterir; böylece herhangi bir kodun tam spesifikasyon metnini okuyabilirsiniz.
  4. 4
    Derin bağlantılar ve panoya kopyalama
    Bir girişi açmak URL hash'ini kod numarasına günceller (ör. #404); bu, sayfayı paylaşılabilir ve yer imine uygun hale getirir. Kopyala düğmesi standart dizeyi (ör. '404 Not Found') tarayıcının navigator.clipboard API'si ile panoya yazar.

İlgili araçlar

Sık sorulan sorular