2009-09-16 15 views
16

Uno de los parámetros de YSlow es usar dominios sin cookies para servir archivos estáticos..htaccess, YSlow, y "Usar dominios sin cookies"

"Cuando el navegador solicita una imagen estática y envía las cookies con la solicitud , el servidor ignora los cookies. Estas galletas son el tráfico innecesario red. Para solucionar este problema , asegúrese de que estáticas componentes se solicitan con las solicitudes sin cookies al crear un subdominio y alojarlas allí. " - Yahoo YSlow

interpreto esto como que pude experimentar mejoras de rendimiento si muevo www.example.com/images a static.example.com/images.

Aunque esto es fácil de hacer, perdería la capacidad práctica dentro de mi sistema de administración de contenido (Joomla/WordPress) para hacer referencia y vincular fácilmente estas imágenes.

¿Es posible utilizar .htaccess para redirigir todas las peticiones de una carpeta determinada en www.example.com a una carpeta en static.example.com en su lugar? ¿Este método también engañaría al CMS para que creara que las imágenes se ubicaban en las ubicaciones predeterminadas de su propio dominio?

+0

Parece que el consenso es que mientras que .htaccess podría usarse para redirigir las solicitudes de www.example.com/images a static.example.com/images; la carga de trabajo disminuiría el rendimiento. La ganancia de rendimiento solo se produce si se accede directamente a los archivos desde un dominio sin cookies en una única solicitud. Otra idea fue usar un complemento que crea dinámicamente las referencias. Gracias a todos por el consejo. –

Respuesta

14

¿Es posible utilizar .htaccess para redirigir todas las peticiones para una carpeta determinada en www.example.com a una carpeta en static.example.com en su lugar?

Posible, pero contraproducente: el cliente tendría que realizar una solicitud HTTP, obtener la respuesta de redirección y luego realizar otra solicitud HTTP.

¡Esto cuesta mucho más que la única línea de datos de cookies guardada!

¿Este método también engañaría al CMS para que creara que las imágenes estaban ubicadas en las ubicaciones predeterminadas de su propio dominio?

3

Las redirecciones causarían mucho más tráfico de la red, y ahora latencia más, que simplemente dejar las cosas como están.

1

Redirigiría la solicitud pero el cliente todavía estaría enviando sus cookies al servidor, por lo que realmente no logró nada. Tendría que acceder directamente a los archivos de un dominio que no está almacenando cookies para que funcione.

4

Aunque esto es fácil de hacer, me pierden la capacidad útil dentro de mi sistema de gestión de contenido (Joomla/WordPress) para hacer referencia fácilmente y enlace a estas imágenes.

Lo que podrías intentar hacer es crear un complemento en Joomla que crea dinámicamente estas referencias.

Por ejemplo, tiene un complemento que cuando ingresa {dinamic_path path} en un artículo, agrega 'static.example.com/images' a la ruta proporcionada. Por lo tanto, cada vez que necesite cambiar la ruta del servidor, simplemente cambie en el complemento. Para los enlaces que ya están en la base de datos, puede intentar usar phpMyAdmin para cambiarlos en esta estructura.

Todavía pierde la habilidad WYSIWYG en TinyMCE, pero es una alternativa.

+0

Gracias por la idea de GmonC, pero puede estar más allá de mis habilidades. Si la gran biblioteca de complementos, tanto Joomla como Wordpress, tengo la leve esperanza de encontrar algo en este sentido. –

+0

Puede buscar en el directorio de extensiones en el sitio web oficial de Joomla. Hay un complemento llamado "DirectPHP", puede escribir un script php de 5 líneas y llamarlo desde un artículo. Pero estoy de acuerdo en que a veces solo queremos una solución que ya funcione: dado que es un cms, debería tener alguna característica ya implementada. Bueno, ¡buena suerte con las otras soluciones proporcionadas! – GmonC

+0

ATG Dynamo es un framework de aplicaciones comerciales (¡y muy caro!) Que hace esto. Trabaja con imágenes en su CMS, y cuando despliega contenido, puede enviar las imágenes a un servidor web dedicado y luego generar las URL correctas en las páginas. Es una buena idea, y seguramente no es tan difícil de implementar, así que me sorprende que no se haya hecho más ampliamente. –

0

Lo que realmente desea hacer es usar staticexample.com/images en lugar de static.example.com/images para que no recoja ninguna cookie en el dominio example.com que pueda haber configurado. Si todo lo que hace es imágenes del servidor de ese dominio con un servidor apache simple o algo así, entonces puede configurar que el servidor no devuelva ni siquiera una cookie de sesión.

Los redireccionamientos son una muy mala idea. Las cookies causan algunos éxitos de rendimiento, pero los viajes redondos al servidor, como podría ser un redireccionamiento, son un problema de rendimiento mucho más serio.

3

En teoría, podría crear un dominio virtual que apunte directamente a la carpeta de imágenes, como images.example.com. Luego, en su CMS (con suerte en la capa de tema) puede reemplazar las rutas que apuntan a la carpeta de imágenes con una ruta absoluta al subdominio.

1

que hice a continuación y ganado el éxito:

<FilesMatch "!\.(gif|jpe?g|png)$"> 
    php_value session.cookie_domain example.com 
</FilesMatch> 

Lo que significa es que si no se establece en imágenes la información de cookies. Luego, las imágenes están libres de cookies con el servidor.

+1

Esto no hace lo que pidió el OP. – tiago

+0

¿Hay un equivalente de esto para Nginx? –

+0

Muestra 503 para mi sitio web –

Cuestiones relacionadas