- HTTP 418
I'm a teapotadalah kode respons status yang menolak karena server secara permanen adalah teko teh sehingga tidak bisa menyeduh kopi - Jika situasinya adalah teko gabungan kopi/teh yang untuk sementara tidak dapat menyediakan kopi, maka yang harus dikembalikan bukan 418 melainkan
503 Service Unavailable - Kode ini berasal dari lelucon April Mop Hyper Text Coffee Pot Control Protocol, dan terhubung dengan protokol yang didefinisikan pada 1998 dan 2014
- Kode ini awalnya adalah kode lelucon dalam RFC 2324, tetapi karena sudah tersebar luas maka secara resmi direservasi dalam RFC 9110
- Beberapa situs web menggunakan 418 untuk permintaan yang tidak ingin mereka perlakukan seperti kueri otomatis, dan dalam waktu dekat tidak mungkin diberi makna non-lelucon
Situasi yang ditunjukkan oleh HTTP 418
- Kode respons status
418 I'm a teapotberarti server menolak menyeduh kopi - Alasan penolakannya adalah karena server secara permanen merupakan teko teh
- Jika teko gabungan kopi/teh untuk sementara tidak dapat menyediakan kopi, maka harus mengembalikan
503
Kode yang bermula dari protokol April Mop
- Kode status ini merujuk ke Hyper Text Coffee Pot Control Protocol
- Protokol tersebut didefinisikan sebagai lelucon April Mop pada 1998 dan 2014
- 418 awalnya adalah kode yang didefinisikan sebagai lelucon April Mop dalam RFC 2324
Alasan direservasi dalam RFC 9110
- Kode status 418 telah tersebar luas sebagai lelucon, sehingga secara resmi direservasi dalam RFC 9110
- Karena reservasi ini, dalam waktu dekat 418 tidak bisa diberi makna non-lelucon
Cara penggunaan di dunia nyata
- Beberapa situs web menggunakan respons 418 untuk permintaan yang tidak ingin mereka tangani
- Contoh yang mewakili adalah permintaan seperti kueri otomatis
Spesifikasi terkait dan bahan referensi
- RFC 2324 section 2.3.2: definisi asli kode status 418
- HTTP Semantics name-418-unused: status reservasi 418
- HTTP response status codes: daftar kode status respons HTTP
- Wikipedia: Hyper Text Coffee Pot Control Protocol: bahan referensi tentang Hyper Text Coffee Pot Control Protocol
1 komentar
Komentar Hacker News
Kalau sedang senggang, menarik juga membaca diskusi saat mnot mencoba menghapus kode status 418 dari berbagai bahasa dan implementasi karena dianggap tidak akurat secara teknis
https://github.com/nodejs/node/issues/14644
https://github.com/golang/go/issues/21326
Pada akhirnya ada juga yang sampai membuat situs http://save418.com/
Misalnya menambahkan emoji roket saat pekerjaan berhasil, dan saya menentangnya. Begitu hal seperti ini mulai dimasukkan, tiap orang akan punya selera masing-masing, lalu muncul terus diskusi soal di bagian mana perlu ditambah dan di mana perlu dihapus, bahkan ikut terbawa saat membahas topik yang sama sekali berbeda
Terutama kalau tidak melihat lewat pelacakan perilaku pengguna apakah metrik benar-benar membaik, saya menganggap kenaikan biaya komunikasi sebagai kerugian besar. Ini bukan soal profesionalisme; subjektivitas seperti ada yang suka, ada yang tidak suka, dan ada yang tidak menyadarinya sering menciptakan gesekan kecil
Saya membalas permintaan bot yang tidak sah dengan 418. Lucu, dan memfilter log jadi lebih mudah
Contoh konfigurasi Nginx seperti berikut
Nothing to hack around here, I’m just a teapot:
location ~* .(?:php|aspx?|jsp|dll|sql|bak)$ {
return 418;
}
error_page 418 /418.html;
Contoh: https://FreeSolitaire.win/wp-login.php
Sebagai catatan, /wp-login.php adalah URL login WordPress, dan bot yang mencari instalasi WordPress rentan sering memintanya secara membabi buta
Saya penasaran bagaimana cara memblokir alamat itu secara permanen hanya karena ia meminta URL seperti ini
RFC asli yang ditautkan juga enak dibaca: https://www.rfc-editor.org/rfc/rfc2324
Saat membaca dokumen tentang cara kerja TCP atau TLS, terasa ditulis oleh ahli yang punya pengalaman dan visi, sedangkan dokumen CCSDS terlihat seperti ditulis oleh birokrat yang seumur hidup belum pernah menulis satu baris kode pun
Ini adalah lelucon absurd ala nerd dari masa sebelum “sir, this is a wendy's” meledak sebagai meme Facebook pada era 2010-an
Saya selalu teringat bagian keren yang dulu saya temukan saat membaca RFC HTTP/2, entah untuk alasan apa
Sebelum “429 Too Many Requests” distandardisasi, Twitter API mengembalikan kode status non-standar 420 dan frasa “Enhance Your Calm” saat pembatasan laju permintaan. Mereka berhenti karena alasan yang bisa dimengerti, tetapi frasa itu sendiri diam-diam masuk ke HTTP/2
https://datatracker.ietf.org/doc/html/rfc7540#section-7
Jika melihat entri 0xb, frasa untuk koneksi yang ditutup karena beban berlebihan benar-benar ENHANCE_YOUR_CALM. Saya tertawa setiap kali melihatnya
Setiap kali menemukan kode error ini di layanan nyata, rasanya sangat menjengkelkan
Seseorang ingin terlihat jenaka lalu mengembalikan ini alih-alih kode status yang benar seperti 429 atau 503, dan akibatnya banyak parser kode status HTTP rusak
Tidak jenaka, tidak lucu, dan sebenarnya membosankan. Saya tahu saya orang yang tidak seru, tetapi ada pekerjaan yang harus dilakukan
Konon Van Halen menulis dalam kontrak pertunjukan mereka agar M&M disediakan di backstage, tetapi semua yang berwarna cokelat harus disingkirkan
Vokalis David Lee Roth menjelaskan dalam autobiografinya ‘Crazy From the Heat’ bahwa ini bukan tuntutan kekanak-kanakan, melainkan tes cerdas untuk segera menilai apakah venue aman
Jika venue menyajikan M&M cokelat, itu berarti mereka tidak membaca kontrak dengan benar, dan mungkin juga melakukan kesalahan pada bagian yang lebih berbahaya seperti pasokan listrik atau beban panggung
https://www.metaltalk.net/chris-dale-myth-busting-the-van-ha...
Dulu Sonatype Nexus pernah mengembalikan 418 saat upload artefak, dan itu sama sekali tidak mengesankan
Penyalahgunaan kode status HTTP selalu mengejutkan setiap kali saya melihatnya. Contoh favorit saya adalah layanan milik salah satu pelanggan yang mengembalikan “200 OK”, lalu hanya menaruh teks “500” di body respons
Ketika kami meminta agar jika ada error API mereka mengembalikan error 500 alih-alih 200, mereka hanya mengubah angka 200 di dalam respons, bukan di header. “200 Created” juga cukup kuat sebagai contoh kurangnya pemahaman developer atau batasan framework yang aneh
Kami menggunakan kode respons 418 di layanan autentikasi
Dipakai untuk membedakan apakah token tidak valid karena kedaluwarsa, atau karena alasan lain. Jika 418, kami menganggap access token boleh diperbarui otomatis. Cukup tidak berbahaya, dan sama sekali bukan langkah keamanan
Diskusi terkait
2020, 153 poin · 118 komentar: https://news.ycombinator.com/item?id=24206899
2021, 193 poin · 108 komentar: https://news.ycombinator.com/item?id=28541327
2023, 206 poin · 189 komentar: https://news.ycombinator.com/item?id=36090344
Dalam thread seperti ini biasanya ada yang menautkan iiNet coffee cam. Ini dia
https://coffeecam.iinet.net.au/coffee/history/
coffeecam juga lucu, dan acb, yang terutama mengurus coffeecam, juga menjual camilan Amerika di sekitar sana. Setidaknya begitu saat saya bekerja di Hay Street