O que são imagens incorporadas?
Imagens incorporadas são armazenadas diretamente em outro documento, recurso ou carga de dados, em vez de serem referenciadas como arquivos externos separados. O formato que as contém determina como os bytes e o tipo de mídia da imagem são representados.
Como funcionam as imagens incorporadas
Um documento ou recurso pode incorporar bytes de imagem por meio de um objeto binário, uma parte de pacote, uma seção MIME ou uma representação textual, como uma URL de dados. O analisador do documento ou recurso, em vez de uma requisição independente de imagem, localiza esses bytes e os passa a um decodificador apropriado. Isso cria uma distinção no ciclo de vida: talvez não seja mais possível alterar ou armazenar a imagem em cache separadamente. A incorporação é, portanto, uma decisão de empacotamento tomada após a codificação da imagem, mas antes da distribuição de um documento ou carga de dados.
Informações essenciais
- Um objeto incorporado ainda precisa de informações confiáveis de tipo e comprimento. Confiar em um rótulo semelhante a um nome de arquivo, em vez de inspecionar a carga de dados dentro de seus limites, pode levar à seleção do decodificador errado ou à leitura além dos limites do contêiner.
- Uma URL de dados dentro de um recurso HTML ou CSS compartilha o ciclo de vida do cache desse recurso e não pode ser revalidada de forma independente, mesmo quando a mesma imagem se repete em várias páginas.
- Alguns formatos compostos podem referenciar um único objeto de imagem interno compartilhado, enquanto métodos de incorporação mais simples duplicam seus bytes codificados a cada uso. A estrutura que contém a imagem determina se a desduplicação é possível.
Quando as imagens incorporadas são importantes
Incorpore imagens quando a portabilidade ou o empacotamento em um único arquivo forem mais importantes do que o armazenamento em cache e a substituição independentes. A sobrecarga de codificação e a duplicação podem aumentar o tamanho do documento, enquanto formatos de imagem não compatíveis podem impedir a renderização correta.