.htaccess, YSlow e & # 8220; Usa domini senza cookie & # 8221;
Domanda
Uno dei misurabili di YSlow è usare domini senza cookie per servire file statici.
" Quando il browser richiede una statica immagine e invia i cookie con il richiesta, il server ignora il biscotti. Questi cookie non sono necessari traffico di rete. Per ovviare a questo problema, assicurarsi che statico i componenti sono richiesti con richieste senza cookie creando un sottodominio e ospitandoli lì . " - Yahoo YSlow
Lo interpreto nel senso che potrei sperimentare un aumento delle prestazioni se sposto www.example.com/images su static.example.com/images .
Anche se questo è facile da fare, perderei la pratica capacità del mio sistema di gestione dei contenuti (Joomla / WordPress) di fare facilmente riferimento e collegarmi a queste immagini.
È possibile utilizzare .htaccess per reindirizzare tutte le richieste per una particolare cartella su www.example.com su una cartella su static.example.com ? Questo metodo ingannerebbe anche il CMS nel pensare che le immagini si trovassero nelle posizioni predefinite sul proprio dominio?
Soluzione
È possibile utilizzare .htaccess per reindirizzare tutte le richieste per una cartella particolare su www.esempio.com in una cartella su static.example.com invece?
Possibile, ma controproducente & # 8212; il client dovrebbe effettuare una richiesta HTTP, ottenere la risposta di reindirizzamento, quindi effettuare un'altra richiesta HTTP.
Questo costa molto di più rispetto alla singola riga di dati sui cookie salvati!
Questo metodo ingannerebbe anche il CMS nel pensare alle immagini si trovavano nelle posizioni predefinite sul proprio dominio?
No.
Altri suggerimenti
Anche se questo è facile da fare, lo farei perdere l'abilità utile nel mio sistema di gestione dei contenuti (Joomla / WordPress) per fare facilmente riferimento e link a queste immagini.
Quello che potresti provare a fare è creare un plugin in Joomla che crea dinamicamente questi riferimenti.
Ad esempio, hai un plug-in che inserendo {percorso dinamic_path} in un articolo, aggiunge "static.example.com/images" al percorso fornito. Quindi, ogni volta che è necessario modificare il percorso del server, è sufficiente modificare il plug-in. Per i collegamenti che sono già nel database, puoi provare a usare phpMyAdmin per cambiarli in questa struttura.
Perde ancora l'abilità WYSIWYG in TinyMCE, ma è un'alternativa.
In teoria potresti creare un dominio virtuale che punta direttamente alla cartella delle immagini, come images.example.com. Quindi nel tuo CMS (si spera a livello di tema) potresti sostituire tutti i percorsi che puntano alla cartella delle immagini con un percorso assoluto al sottodominio.
I reindirizzamenti causerebbero molto più traffico di rete e di gran lunga più latenza, che semplicemente lasciare le cose come sono.
Reindirizzerebbe la richiesta ma il client invierebbe comunque i suoi cookie al server, quindi davvero non hai realizzato nulla. Dovresti accedere direttamente ai file da un dominio che non memorizza i cookie perché funzioni.
Quello che vuoi davvero fare è usare staticexample.com/images invece di static.example.com/images in modo da non raccogliere alcun cookie sul dominio example.com che potresti aver impostato. Se tutto ciò che fai sono immagini server da quel dominio con un semplice server Apache o qualcosa del genere, puoi configurare quel server in modo che non restituisca nemmeno un cookie di sessione.
I reindirizzamenti sono una pessima idea. I cookie causano alcuni hit delle prestazioni, ma i round trip sul server come un reindirizzamento causerebbero un problema di prestazioni molto più grave.
Ho fatto di seguito e ho ottenuto il successo:
<FilesMatch "!\.(gif|jpe?g|png)<*>quot;>
php_value session.cookie_domain example.com
</FilesMatch>
Ciò significa che se non si impostano le immagini nelle informazioni sui cookie. Quindi le immagini sono prive di cookie con il server.