Lição 1

O que é HTML Entity?

Entenda character references e por que o HTML precisa de escape.

Uma HTML entity (mais precisamente, uma character reference) é uma forma de escrever um caractere usando uma escape sequence em vez do caractere literal. A forma mais familiar começa com & e termina com ;, como &lt; para < ou &copy; para ©.

Por que o HTML precisa de escape

HTML usa < e > para delimitar tags. Se você inserir <script> bruto em uma página sem escape, o browser pode interpretá-lo como markup. O escape transforma < em &lt; para o browser exibir o caractere em vez de iniciar uma tag.

A mesma ideia se aplica a:

  • Ampersands (&) — devem ser escapados primeiro para que &copy; não seja parseado incorretamente
  • Aspas em attributes" e ' dentro de attribute values
  • Símbolos especiais — ©, non-breaking spaces, símbolos matemáticos em conteúdo

Entities não são criptografia

Encoding não esconde significado. Qualquer pessoa pode decodificar Tom &amp; Jerry de volta para Tom & Jerry. O objetivo é inserção segura em HTML, não confidencialidade.

Onde desenvolvedores veem entities

Fontes comuns incluem:

  • Exports de CMS que escapam HTML para storage ou templates de email
  • Template engines server-side que fazem auto-escape no output
  • Campos JSON ou de log contendo snippets pré-escapados
  • Copy-paste do Word ou editores rich-text com smart quotes e símbolos

Decode vs render

Decodificar uma string de entity produz texto. Renderizar esse texto dentro de HTML é um passo separado. Nunca assuma que decode sozinho torna conteúdo seguro para innerHTML.

Voltar à visão geral do curso