Skip to content

Código de status HTTP · Sucesso (2xx)

226 IM Used

O 226 IM Used significa que o servidor atendeu um GET enviando o resultado de uma ou mais manipulações de instância, normalmente um delta em relação a uma versão que o cliente já tem, em vez do recurso inteiro. Faz parte do delta encoding da RFC 3229, que nunca foi muito adotado.

Dados sobre este código de status
Classe2xx, Sucesso
Definido emRFC 3229 §10.4.1
Pode ir para o cache por padrãoSó com Cache-Control ou Expires explícitos; um cache pode combiná-lo com uma instância base guardada para montar a atual
Pode repetir o pedidoSe o delta não puder ser aplicado, peça o recurso inteiro sem A-IM
Cabeçalhos relevantes
  • IM: indica as manipulações aplicadas, por exemplo vcdiff ou diffe
  • ETag: obrigatório; o entity tag da instância atual, já reconstruída
  • A-IM: cabeçalho do pedido com as manipulações que o cliente aceita; obrigatório para um 226

O que significa o 226

A RFC 3229, seção 10.4.1, exige que o pedido traga um cabeçalho A-IM com pelo menos uma manipulação aceita pelo cliente, como vcdiff, e que a resposta traga um ETag da instância atual. O cliente envia If-None-Match com o ETag da sua cópia, e o servidor devolve só a diferença.

A ideia era economizar banda em feeds e páginas que mudam pouco de cada vez. Na prática, compressão, CDNs e caches de vida curta resolveram o mesmo problema com menos complexidade, e o 226 hoje é basicamente uma entrada no registro.

Como enviar um 226

Nenhum framework popular implementa a RFC 3229. Enviar 226 exige gerar os deltas por conta própria e só para clientes que mandaram A-IM; para a maioria dos sites, compressão e revalidação com 304 resolvem.

Costuma ser confundido com

226 vs 304
O 304 Not Modified diz que a cópia do cliente continua atual; o 226 diz que mudou e manda só a diferença.
226 vs 206
O 206 devolve uma faixa de bytes do arquivo atual; o 226 devolve uma transformação calculada, como um diff, que precisa ser aplicada a uma cópia antiga.

Perguntas frequentes

Navegadores suportam o 226 IM Used?
Nenhum navegador popular envia A-IM, então eles nunca recebem 226. Ele só é usado por clientes e servidores especializados construídos em cima da RFC 3229.
O que significa IM em 226 IM Used?
Instance Manipulation, ou manipulação de instância: uma operação aplicada à versão atual do recurso, como um delta vcdiff ou compressão gzip, listada no cabeçalho de resposta IM.
Uma resposta 226 pode ir para o cache?
A RFC 3229 permite que um cache a guarde seguindo a expiração normal e o Cache-Control, e que a combine com uma instância base em cache para montar a versão atual.

Revisado em por Arielton Oberek.