2010-11-10 7 views
5

Noté que la nueva vista previa de la página de Google obtiene sus imágenes usando base64 en lugar de simple, p. jpgs o png's¿Qué ventajas hay para que Google envíe imágenes como Base64 en lugar de, por ejemplo, jpg

¿Cuáles son las ventajas de hacer esto?

¿Pueden las imágenes codificadas en base64 comprimirse mejor durante el tránsito?

O tal vez almacenado en caché mejor mediante el navegador o el proxy de almacenamiento en caché?

¿Es para que puedan hacer una solicitud HTTP y recibir la imagen y la información de la imagen de un golpe?

¿Alguna otra idea?

[EDIT]

Acabo de tener un pensamiento, tal vez es lo que Google puede utilizar su nuevo formato de imagen

http://code.google.com/speed/webp/ sin el apoyo de los navegadores?

Sin embargo, mirando la cadena devuelta (utilizando el violín para interceptar el tráfico http), la cadena menciona "image/jpeg". A menos que se devuelvan algunas imágenes en formato webp.

+2

¿A qué te refieres? "google" cubre una amplia gama de pecados. – skaffman

+0

Es google.com: en la página de resultados, haga clic en el pequeño cristal de aumento al lado de los títulos de la página. No estoy seguro si todos verán la función (tal vez soy parte de una versión beta aleatoria) –

+0

Base64 solo codifica datos en una forma de 7 bits. No es un formato de imagen. Los datos subyacentes aún deben estar codificados de alguna manera. ¿Sigue siendo .jpg/.png o algo así? –

Respuesta

2

La imagen es una URL de datos que se recibe del servidor como un paquete JSON (-ish) con algunos metadatos. Supongo que empaquetar tanto los datos de imagen como los metadatos en una sola solicitud lo valen en términos de almacenamiento en caché y rendimiento.

+0

Sí, estoy de acuerdo: reducirlo a un hit HTTP por imagen/datos no tiene sentido. –

2

La regla de oro para el rendimiento es reducir el número de conexiones al servidor. Al usar un URI de datos (datos de imagen codificados como base 64), ese viaje de ida y vuelta se reduce. Además, si la página tiene gzip, entonces los datos de la base 64 aún pueden beneficiarse de la compresión.

Ver http://developer.yahoo.com/performance/rules.html/

Cuestiones relacionadas