Expire et CDNS - Problèmes YSlow
Laissez-moi d'abord de mentionner que j'ai fait quelques recherches mais n'arrive pas à trouver une réponse adéquate à ce que je vais à la recherche pour.
Je travaille sur un site où je suis à l'aide d'un peu de ressources externes:
- Google Analytics (//www.google-analytics.com/analytics.js)
- Dernière version de jQuery (http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js)
- Google Fonts (http://fonts.googleapis.com/css?family=Lato:400,300)
L'utilisation d'un Réseau de diffusion de Contenu (CDN)
J'obtiens un "F" note sur "l'Utilisation d'un Réseau de diffusion de Contenu (CDN)". Un autre DONC, après les des liens vers les YSlow FAQ ( lien direct ), mais cela semble indiquer que je dois définir mon CA sur mon navigateur, ce qui semble être une solution rapide pour moi, mais cela ne résout pas le problème sur d'autres navigateurs et/ou périphériques.
Ajouter Expire en-têtes
Comme pour le "Ajouter Expire headers" de qualité,je reçois un E. Problème, c'est ce que j'obtiens:
There are 3 static components without a far-future expiration date.
(2014/2/26) http://fonts.googleapis.com/css?...
(2014/2/26) http://www.google-analytics.com/analytics.js
(2014/2/26) http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js
Comment dois-je faire pour corriger cela? Mes fichiers locaux sont tous pris en charge par mon .htaccess
comme montré ici:
AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/ico "access plus 1 year"
ExpiresDefault "access plus 7 days"
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
# access plus 1 year
Header set Cache-Control "max-age=31536000"
</FilesMatch>
Ce DONC, après les semble suggérer qu'il est soit impossible, ou j'appelle un script local où je utiliser ma bande passante pour charger (ou cache) externe fichiers.
Ainsi, avec ces choses à l'esprit, voici ce que je suis à la recherche d':
- Externes ressources doit être CA, mais YSlow lit mes préférences locales qui varient d'un utilisateur à l'autre, j'ai donc besoin d'une alternative à la
about:config
solution proposée par le YSlow site officiel. - Expire sont définies par le serveur où se trouve le fichier, donc je ne semble pas avoir accès à la définition de valeurs d'expiration. Donc, de ce que je comprends, je pourrais continuer ces fichiers sur mon serveur ou utiliser un local de fichier PHP et de les mettre en cache à partir de ces fichiers PHP situés mon serveur, mais cela ne semble pas optimale. Est-il un moyen de contourner cet?
source d'informationauteur davewoodhall
Vous devez vous connecter pour publier un commentaire.
Réponse courte:
Vous ne pouvez pas contrôler grand-chose quand vous êtes en train de charger des ressources à partir des serveurs externes comme ça, mais il peut encore être correct pour votre site. Lors de l'utilisation d'un outil comme YSlow il est important de ne pas se faire attraper vers le haut dans la note "A" pour tout. Il est préférable de comprendre les allusions de l'outil est de vous donner, et de prendre des décisions en conséquence.
Plus de réponses:
Réseau De Livraison De Contenu
YSlow fera rapport des grades inférieurs pour tous les domaines qu'il ne reconnaît pas comme un CDN. Vous pouvez ajouter CDN de noms d'hôtesalors il sera le reflet d'une meilleure qualité. Je voudrais ajouter
fonts.googleapis.com
etajax.googleapis.com
parce que les deux se comportent comme des Cdn. Penser que l'enregistrement d'une préférence dans votre copie de YSlow. Ajouter ici les domaines n'est pas réellement changer votre performance, c'est juste d'améliorer votre score.Expire En-Têtes
Vous ne pouvez pas contrôler expire en-têtes pour le contenu que vous êtes en train de charger à partir d'un autre site. Options que vous pourriez envisager:
.htaccess
. Ce serait vous donner une meilleure YSlow de qualité, mais les performances réelles peuvent être encore pire si votre serveur est plus lent que le Cdn. (voir ce DONC, la question)