418 I'm a teapot.

Olá Tabbers! Faz um bom tempo que eu não posto nada aqui. Dessa vez eu vou apresentar o HTCPCP (Hyper Text Coffee Pot Control Protocol), que é um protocolo, tipo o HTTP, mas a diferença é que o servidor é um bule.

Imagem: error418.net

foto do servidor no bule

Publicado como uma piada (01/04/1998), ele está todo especificado aqui, no RFC 2324. O autor, Larry Masinter, que descreve o protocolo como uma sátira, disse:

Isso tem um propósito sério - identifica muitas das maneiras pelas quais o HTTP foi estendido de forma inadequada.

O protocolo não ficou muito popular, provavelmente por causa de sua natureza.

Métodos diferentes

No HTTP, a gente tem o GET, HEAD, POST, PUT, DELETE, CONNECT e alguns a mais.

Já no HTCPCP, a gente tem:

  • BREW, que controla o bule, podendo fazer café mesmo [1];
  • PROPFIND, que retorna metadata sobre a request;
  • WHEN, que pede para parar de colocar leite no café.

Nessa brincadeira ai, também tem os erros: 406 Not Acceptable: Pode acontecer quando uma resposta BREW não pode atender o parâmetro Accept-Additions; 418 I'm a teapot: Clássico, o servidor é um bule. Até o google homenageou.

Movimento "Save 418"

Mark Nottingham, nessa issue do Node.JS no Github, disse que seria melhor remover o 418 do Node.JS porque não é um código HTTP oficial, poderia se tornar um problema caso ficassem sem espaço e também porque era uma piada de primeiro de abril.

Foi uma conversa até que longa, e o Mark decidiu fazer uma issue no Go também. Um argumento que me tocou muito foi esse do Matt Andrews:

...Lembra quando adicionamos rebeccapurple como uma cor? Essas coisas nos lembram que pessoas reais criaram esses padrões e ferramentas e pessoas reais os estão usando e trabalhando com eles. Claro, 418 I'm A Teapot é uma piada, um pouco divertido - mas por que esse é um motivo para removê-lo?

Além disso: a Internet das Coisas é tão onipresente hoje em dia que, mais cedo ou mais tarde, um bule conectado à Internet pode precisar usar esse código de resposta. Queremos ser um daqueles a recusar essa oportunidade para eles?!

Aliás, nessa brincadeira, saiu o site save418.com, que explica melhor a situação.

Citações e Notas

[1]: Coffee pots heat water using electronic mechanisms, so there is no fire.

https://github.com/nodejs/node/issues/14644 https://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol https://save418.com/ http://www.error418.org/2021/05/the-big-breakdown.html

Acredito que essa página ficou ruim de ler pela quantidade disso, mal uso de vírgulas e "ficar esperando palavras mas chegarem outras". Me ajudem a melhorar essa página!

hahaha show! não conhecia essa

Parabens pelo post, nunca tinha visto nada sobre, achei muito massa :)

Não entendi a sua chamada ao final para ajuda a melhorar. Como gostaria de ajuda? 😅