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.
| Classe | 2xx, Sucesso |
|---|---|
| Definido em | RFC 3229 §10.4.1 |
| Pode ir para o cache por padrão | Só 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 pedido | Se o delta não puder ser aplicado, peça o recurso inteiro sem A-IM |
| Cabeçalhos relevantes |
|
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.