Extensões, formatos e media types

Distinguir nome/extensão, formato real e media type.

Extensões, formatos e media types

Objetivo

Distinguir nome/extensão, formato real e media type.

Conceitos essenciais

Extensão

Extensão é uma convenção no nome, como .txt, .png ou .json. Renomear a extensão não converte os bytes do arquivo.

Formato

Formato define estrutura e regras para interpretar o conteúdo.

Assinaturas

Alguns formatos possuem magic numbers ou assinaturas que ajudam a reconhecê-los, mas isso não é universal.

Media type

Media type, tradicionalmente chamado MIME type, identifica tipos de conteúdo em protocolos como HTTP: text/html, application/json, image/png.

Segurança

Confiar apenas na extensão fornecida por upload pode ser inseguro; sistemas reais validam tipo, conteúdo e política.

Modelo mental

NOME.ext → indício; BYTES + FORMATO → conteúdo; MEDIA TYPE → declaração de tipo

Exemplo e demonstração

Renomear foto.png para foto.txt não transforma a imagem em texto; um editor de texto continuará encontrando bytes estruturados como imagem.

Experimento / prática

  • Escolha três arquivos e compare extensão e tipo indicado pelo SO.
  • Explique por que um upload chamado documento.pdf não deve ser aceito apenas pelo nome.

Erros comuns

  • Extensão define magicamente o formato.
  • Todo arquivo possui magic number.
  • MIME type e extensão são sempre equivalentes.

Resumo

Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.