2010-12-02 11 views
10

Después de haber trabajado con Django, he visto que la gente tiende a recomendar el uso de GZIP Middleware para comprimir páginas HTML.¿Debo usar un middleware de compresión GZIP o no?

(Nota::

Sin embargo, el WSGI v1.0 specification nos dice aplicaciones y middleware no debe aplicar cualquier tipo de Transfer-Encoding a su salida, como fragmentación o gzipping; como "hop-by-hop" operaciones, estas codificaciones son la provincia de la web del servidor/puerta de enlace real. Ver Other HTTP Features abajo, para más detalles.)

Esto sugiere que la compresión se debe dejar al servidor/puerta de enlace. Lo cual tiene sentido, ya que el servidor es probablemente mucho más rápido al hacer eso. Además, podría preferir SDCH sobre gzip, ya que la mayoría de los navegadores Chrome/Chromium modernos lo admiten.

Así que mi pregunta sigue siendo, ¿debería usar un middleware para comprimir mis respuestas o no? Específicamente, ¿cuál es la elección correcta para Google App Engine?

EDIT:

El libro postes, también contiene un example gzip middleware.

No mencioné que mi marco de trabajo elegido es Pyramid (ex-repoze.bfg).

Respuesta

8

App Engine already does comprime el contenido, si el cliente lo admite.

Si el cliente envía cabeceras HTTP con la solicitud que indica que el cliente puede aceptar comprimido (gzip) contenido, App Engine comprime los datos de respuesta automáticamente y concede la respuesta apropiada cabeceras. Utiliza los encabezados Aceptación-Codificación y User-Agent para determinar si el cliente puede recibir respuestas comprimidas de manera confiable. Los clientes personalizados pueden forzar que el contenido sea comprimido al especificar Encabezado de aceptación y encabezados de agente de usuario con un valor de "gzip".

+0

Dado que GAE comprime archivos estáticos, ¿tiene sentido, en cuanto al rendimiento, utilizar javascript/css/html minificado? – speedplane

Cuestiones relacionadas