HTTP 418 `I'm a teapot` hata mesajı
(developer.mozilla.org)- HTTP 418
I'm a teapot, sunucunun kalıcı olarak bir çaydanlık olduğu için kahve demlemeyi reddettiğini belirten bir durum yanıt kodudur - Kahve/çay ikilisi bir demlik geçici olarak kahve sağlayamıyorsa 418 yerine
503 Service Unavailabledöndürmelidir - Bu kod, Hyper Text Coffee Pot Control Protocol içindeki bir 1 Nisan şakasıdır ve 1998 ile 2014'te tanımlanan protokollerle bağlantılıdır
- Başlangıçta RFC 2324 içindeki bir şaka koduydu, ancak yaygın biçimde dağıtıldığı için RFC 9110 içinde resmen rezerve edilmiştir
- Bazı web siteleri, otomatik sorgular gibi ele almak istemedikleri isteklere 418 kullanır; yakın gelecekte buna şaka dışı bir anlam verilemez
HTTP 418'in ifade ettiği durum
418 I'm a teapotdurum yanıt kodu, sunucunun kahve demlemeyi reddettiği anlamına gelir- Reddetme nedeni, sunucunun kalıcı olarak bir çaydanlık olmasıdır
- Kahve/çay ikilisi bir demlik geçici olarak kahve sağlayamıyorsa
503döndürmelidir
1 Nisan protokolünden doğan kod
- Bu durum kodu, Hyper Text Coffee Pot Control Protocol'e atıfta bulunur
- Söz konusu protokol, 1998 ve 2014 yıllarında 1 Nisan şakası olarak tanımlanmıştır
- 418, başlangıçta RFC 2324 içinde bir 1 Nisan şakası olarak tanımlanan bir koddur
RFC 9110'da neden rezerve edildi
- 418 durum kodu, bir şaka olarak yaygın biçimde dağıtıldığı için RFC 9110 içinde resmen rezerve edilmiştir
- Bu rezervasyon nedeniyle yakın gelecekte 418'e şaka dışı bir anlam atanamaz
Gerçek kullanım biçimi
- Bazı web siteleri, işlemek istemedikleri isteklere 418 yanıtı kullanır
- Buna otomatik sorgular gibi istekler örnek verilebilir
İlgili spesifikasyonlar ve başvuru kaynakları
- RFC 2324 section 2.3.2: 418 durum kodunun özgün tanımı
- HTTP Semantics name-418-unused: 418'in rezerve durumu
- HTTP response status codes: HTTP yanıt durum kodları listesi
- Wikipedia: Hyper Text Coffee Pot Control Protocol: Hyper Text Coffee Pot Control Protocol için başvuru kaynağı
1 yorum
Hacker News yorumları
Canınız sıkılırsa, mnot teknik olarak doğru olmadığı gerekçesiyle çeşitli dillerden ve implementasyonlardan 418 durum kodunu kaldırmaya çalıştığında yapılan tartışmaları okumaya değer
https://github.com/nodejs/node/issues/14644
https://github.com/golang/go/issues/21326
Sonunda biri http://save418.com/ diye bir site bile açmış
İş başarılı olunca roket emojisi koymak gibi bir şeydi; ben karşıydım. Böyle şeyleri koymaya başlayınca herkesin farklı bir zevki oluyor, nereye daha çok koyalım nereden çıkaralım tartışmaları bitmiyor ve tamamen başka konuları konuşurken bile mesele tekrar gündeme geliyor
Özellikle kullanıcı davranışını izleyip gerçek metriklerde iyileşme olup olmadığını görmüyorsanız, iletişim maliyetinin artmasını büyük bir kayıp olarak görüyorum. Bu profesyonellik meselesi değil; birilerinin sevdiği, birilerinin sevmediği, birilerinin de fark etmediği türden öznel şeyler sık sık küçük sürtüşmeler yaratıyordu
Meşru olmayan bot isteklerine 418 ile yanıt veriyorum. Hem eğlenceli hem de log filtrelemeyi kolaylaştırıyor
Nginx yapılandırma örneği şöyle
Nothing to hack around here, I’m just a teapot:
location ~* .(?:php|aspx?|jsp|dll|sql|bak)$ {
return 418;
}
error_page 418 /418.html;
Örnek: https://FreeSolitaire.win/wp-login.php
Bu arada /wp-login.php WordPress giriş URL’sidir ve savunmasız WordPress kurulumları arayan botlar bunu sıkça rastgele ister
Böyle bir URL’yi istemiş olması nedeniyle ilgili adresi kalıcı olarak nasıl engellemek gerekir, merak ediyorum
Bağlantısı verilen özgün RFC de okunması keyifli: https://www.rfc-editor.org/rfc/rfc2324
TCP’nin ya da TLS’nin nasıl çalıştığını anlatan dokümanları okuyunca, bunları deneyimi ve vizyonu olan uzmanların yazdığı hissine kapılıyorsunuz; CCSDS belgeleri ise hayatında tek satır kod yazmamış bürokratlar tarafından yazılmış gibi görünüyor
Bu, 2010’larda “sir, this is a wendy's” Facebook’ta büyük bir meme olmadan önceki nerd tarzı alakasız şakaydı
Eskiden hangi nedenle olduğunu hatırlamıyorum, HTTP/2 RFC’sini okurken bulduğum harika bir bölümü hep hatırlarım
“429 Too Many Requests” standartlaştırılmadan önce Twitter API, istek hız sınırında standart dışı 420 durum kodunu ve “Enhance Your Calm” ifadesini döndürüyordu. Anlaşılır nedenlerle bunu bıraktılar ama o ifade gizlice HTTP/2’ye girdi
https://datatracker.ietf.org/doc/html/rfc7540#section-7
0xb maddesine bakarsanız, aşırı yük nedeniyle bağlantıyı sonlandırma ifadesinin gerçekten ENHANCE_YOUR_CALM olduğunu görürsünüz. Her gördüğümde güldürüyor
Gerçek servislerde bu hata koduyla her karşılaştığımda çok sinir bozucuydu
Birileri esprili görünmek için 429 veya 503 gibi doğru durum kodları yerine bunu döndürüyor ve bu yüzden birçok HTTP durum kodu ayrıştırıcısı bozuluyor
Ne zekice ne de komik; hatta sıkıcı. Eğlencesiz biri olduğumu biliyorum ama yapılacak işler var
Van Halen’ın konser sözleşmesine kuliste M&M bulundurulmasını ama kahverengilerin hepsinin çıkarılmasını yazdığı söylenir
Vokalist David Lee Roth, ‘Crazy From the Heat’ adlı otobiyografisinde bunun çocukça bir talep değil, mekânın güvenli olup olmadığını hemen anlamak için akıllıca bir test olduğunu açıklamıştı
Mekân kahverengi M&M koyduysa sözleşmeyi düzgün okumamış demekti; elektrik beslemesi veya sahne yük kapasitesi gibi daha tehlikeli konularda da hata yapmış olabileceği düşünülüyordu
https://www.metaltalk.net/chris-dale-myth-busting-the-van-ha...
Eskiden Sonatype Nexus’un artefakt yükleme sırasında 418 döndürdüğü olmuştu; hiç de etkileyici değildi
HTTP durum kodlarının yanlış kullanımı her gördüğümde beni şaşırtıyor. Sevdiğim örneklerden biri, “200 OK” döndürüp yanıt gövdesine metin olarak yalnızca “500” koyan bir müşterinin servisiydi
API hatası varsa 200 yerine 500 hatası döndürmelerini istediğimizde, header’ı değil yanıttaki 200’ü değiştirmişlerdi. “200 Created” da geliştiricinin konuyu anlamadığını veya tuhaf framework kısıtlarını gösteren oldukça güçlü bir örnek
Kimlik doğrulama servisinde 418 yanıt kodunu kullanıyoruz
Token’ın süresi dolduğu için mi geçersiz olduğunu, yoksa başka bir nedenle mi geçersiz olduğunu ayırt etmek için kullanıyoruz. 418 gelirse erişim token’ını otomatik yenilemek gerektiğine karar veriyoruz. Oldukça zararsız ve kesinlikle bir güvenlik önlemi değil
İlgili tartışmalar
2020, 153 puan · 118 yorum: https://news.ycombinator.com/item?id=24206899
2021, 193 puan · 108 yorum: https://news.ycombinator.com/item?id=28541327
2023, 206 puan · 189 yorum: https://news.ycombinator.com/item?id=36090344
Böyle thread’lerde genelde biri iiNet coffee cam bağlantısını paylaşır. İşte burada
https://coffeecam.iinet.net.au/coffee/history/
coffeecam de sevimliydi; coffeecam ile çoğunlukla ilgilenen acb, onun yakınlarında Amerikan atıştırmalıkları da satardı. En azından ben Hay Street’te çalışırken öyleydi