html - imagen - Ventajas y desventajas de usar imágenes codificadas en base64
mostrar imagen base64 html (4)
Estoy pensando en usar imágenes codificadas en base64 para un sitio en el que estoy trabajando para optimizar el tiempo de carga.
De todos modos, antes de comenzar, me preguntaba: ¿cuáles son las ventajas y desventajas de hacer esto?
Por el momento, no veo ninguna desventaja, pero también me di cuenta de que no es una técnica utilizada con mucha frecuencia y eso me hace preguntarme si no me perdí algo.
Después de buscar en Google el tema, no encontré nada claro, así que decidí preguntar aquí.
la longitud real de los datos binarios codificados en Base64 compatibles con MIME suele ser aproximadamente el 137% de la longitud de los datos originales, aunque para los mensajes muy cortos la sobrecarga puede ser mucho mayor debido a la sobrecarga de los encabezados. Muy aproximadamente, el tamaño final de los datos binarios codificados en Base64 es igual a 1.37 veces el tamaño de datos original + 814 bytes (para encabezados).
En otras palabras, el tamaño de los datos decodificados se puede aproximar con esta fórmula:
bytes = (string_length(encoded_string) - 814) / 1.37
Algunas de las desventajas que se detallan a continuación ya se mencionan en esta publicación: ¿Cuánto más rápido es usar imágenes en línea / base64 para un sitio web que solo vincular al archivo?
- La mayoría de las formas de almacenamiento en caché son golpeadas, lo que puede perjudicar mucho si la imagen se ve con frecuencia, por ejemplo, un logotipo que se muestra en cada página, que normalmente el navegador puede almacenar en caché.
- Más uso de CPU
Solo es útil para imágenes muy pequeñas. Los archivos codificados en Base64 son más grandes que el original. La ventaja radica en no tener que abrir otra conexión y hacer una solicitud HTTP al servidor para la imagen. Este beneficio se pierde muy rápidamente, por lo que solo hay una ventaja para un gran número de imágenes individuales muy pequeñas.
también aumentará el tiempo de respuesta de la página HTML, porque las imágenes se cargan asyn en el escenario normal. incluso si las imágenes se cargan tarde, puede comenzar a ver el texto.
Otra ventaja de CDN se perdería si solo los medios se almacenan en caché en CDN
esa ventaja se perderá.