|
|
Publié sur 07/09/2015 19:30:51
|
|
|
|

Expiration de l’en-tête HTTP et contrôle du cache
1. Concept
Le contrôle de cache est utilisé pour contrôler la mise en cache HTTP (il peut ne pas être partiellement implémenté en HTTP/1.0, seul Pragma : no-cache est implémenté)
Formatage dans le paquet :
Cache-Control: cache-directive
La directive cache peut être la suivante :
Demande : | « No-cache » | « Sans magasin » | « max-age » « = delta-secondes | « max-stale » [ « = » delta-secondes ] | « min-fresh » « = » delta-secondes | « Non-Transform » | « seulement-si-cache-caché » | « extension de cache »
Réponse : | « public » | « privé » [ « = » <"> nom de champ <"> ] | « no-cache » [ « = » <"> nom du champ <"> ] | « Sans magasin » | « Non-Transform » | « Must-revalidate » | « revalider par procuration » | « max-age » « = delta-secondes | « s-maxage » « = » delta-secondes | « extension de cache »
Partie de la description : Divisé en cacheable ou non Public indique que la réponse peut être mise en cache par n’importe quelle zone de cache. Privé indique que tout ou partie du message de réponse d’un seul utilisateur ne peut pas être traité par le cache partagé. Cela permet au serveur de ne décrire que lorsque l’utilisateur est Message de réponse partielle, qui n’est pas valable pour les demandes d’autres utilisateurs. no-cache indique que le message de requête ou de réponse ne peut pas être mis en cache (HTTP/1.0 est remplacé par le no-cache de Pragma) Selon ce qui peut être mis en cache No-store est utilisé pour empêcher la publication involontaire d’informations importantes. Envoyer un message de requête fera en sorte que les messages de requête et de réponse ne seront pas mis en cache. Délai d’attente selon le cache max-age indique que le client peut recevoir une réponse d’une durée de vie ne dépassant pas un temps spécifié (en secondes). min-fresh indique que le client peut recevoir une réponse avec un temps de réponse inférieur au temps actuel plus le temps spécifié. max-stale indique que le client peut recevoir des messages de réponse au-delà du délai d’attente. Si vous spécifiez une valeur pour le message max-stanthe, alors le client peut Recevoir des messages de réponse qui dépassent la valeur spécifiée de la période supplémentaire. Les expirations représentent la période d’existence, permettant au client de ne pas vérifier (faire une demande) avant cette date, ce qui équivaut à l’âge maximal Effet. Mais s’ils existent en même temps, ils sont écrasés par l’âge maximal du contrôle de cache. Format: Expire = « Expire » « : » HTTP-date Par exemple
Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)
2. Application Expirations de définissage et contrôle du cache via META via HTTP <meta http-equiv="Cache-Control » content="max-age=7200 » /> <meta http-equiv="Expires » content="Lun, 20 juil. 2009 23:00:00 GMT » /> Les réglages ci-dessus ne sont que des exemples, et vous pouvez réellement en utiliser un. Si vous l’écrivez ainsi, elle n’est valable que pour la page web, pas pour les images ou autres requêtes sur la page, et ne fera aucun cache. Ainsi, le client aura plus de requêtes, et même si ce n’est qu’un outil qui vérifie le statut Dernière modification, le nombre de requêtes affectera certainement la vitesse de navigation. Si vous souhaitez ajouter du cache à un fichier, vous pouvez utiliser le module mod_expire d’Apache, qui s’écrit comme <IfModule mod_expires.c> Expiration Actif le ExpirePar défaut « accès plus 1 jour » </IfModule> Je me souviens que ExpiresActive est sur Activé, je ne l’avais pas activé au début, et il semble que peu importe à quel point YSlow est, je ne trouve pas le mécanisme de mise en cache. Si vous l’ajoutez comme ça, il sera par défaut sur tout. Si vous souhaitez cibler des types individuels de MIME, vous pouvez : ExpiresByType image/gif « accès plus 5 heures 3 minutes » Voir module Apache mod_expires De plus, lorsque vous cliquez sur Rafraîchir dans le navigateur, les requêtes envoyées par le client sont toutes max-age=0, ce qui indique que la requête est validée et envoyée au serveur Si vous demandez à vérifier le cache puis à le mettre à jour, vous obtiendrez généralement le 304 Non modifié, ce qui signifie qu’il n’y a pas de changement.
|
Précédent:Trouvez des emplois à temps partiel et gagnez un revenu supplémentaire Recrutez des travailleurs à temps partiel avec un excellent traitement, un règlement en espèces, plus de 300 par jourProchain:Comme une requête floue dans Linq vers SQL
|