Descontinuação do "X-" em cabeçalhos HTTP personalizados, porquê isso é importante para você e o que fazer (RFC 6648).
Historicamente, desenvolvedores utilizaram prefixos como "X-" para distinguir parâmetros padronizados de não padronizados como, por exemplo, criando cabeçalhos (headers) HTTP personalizados. É uma maneira de dizer, no próprio nome, que aquele parâmetro não segue uma especificação ou processo padronizado. E essa é uma prática bastante comum no desenvolvimento.
Por curiosidade, "X-" seria uma forma de dizer "eXperimental" ou "eXtension".
Porém, na prática, essa convenção traz mais problemas do que resolve - mais detalhes sobre os problemas você encontra no link ao final da RFC. E, por isso, em 2012 essa convenção foi descontinuada através da RFC 6648.
Me chamo Alberto Santos, desenvolvedor Front-End há 4 anos, e vou te explicar brevemente quais as implicações disso e quais as ações que você deveria tomar a partir de hoje. Vamos lá!
Primeiro, o documento da RFC traz recomendações específicas sobre como proceder sem essa distinção (falo quais mais a frente) - um ponto que achei crucial. E, na minha opinião, o mais interessante: eles não fazem nenhuma recomendação se os parâmetros "X-" existentes devem permanecer em uso ou serem migrados para um formato sem o "X-". Segundo o documento "isso é uma questão para os criadores ou responsáveis pela manutenção desses parâmetros."
Isso reforça o comprometimento da RFC - e dos autores - com a estabilidade, continuidade e ponderação ao promover mudanças no ambiente de desenvolvimento das aplicações. Essa mentalidade do desenvolvedor é essencial, e busco cultivá-la em mim mesmo e onde trabalho.
Segundo, eles trazem algumas recomendações, e eu trouxe aqui as mais relevantes e práticas para o dia a dia do dev:
-
Deveriam assumir que todos os parâmetros que criam podem se tornar padronizados ou públicos em algum momento no futuro -> esse, inclusive, pode ter sido o maior motivo para essa descontinuação
-
Deveriam utilizar nomes significativos - principalmente se em sua opinião eles estejam sem uso
-
Não deveriam prefixar seus nomes de parâmetros com "X-" ou construções similares
Por fim, a RFC traz a "melhor prática atual" (aliás, esse é o nome da categoria deste RFC) em relação a prefixos e construções similares na nomeação de parâmetros usados em protocolos, não sendo, por consequência, uma regra definitiva e autoritária, mas sim recomendações que garantirão a estabilidade, segurança e eficiência na manutenção da comunicação de protocolos.
Se gostou desse tipo de conteúdo, deixa seu up-vote e/ou um comentário sobre sua vivência com prefixos "X-" em headers personalizados, pois isso me ajuda a continuar trazendo esses conteúdos mais técnicos e relevantes que eu normalmente estudo.
Obrigado!
Links relevantes: