recherche

Maison  >  Questions et réponses  >  le corps du texte

nginx - Comment le navigateur gère les paramètres d'expiration et de contrôle de cache renvoyés par le serveur

Configuré sur

nginx

expires 1d;

Restitué lors de la demande de la ressource correspondante

Cache-Control:max-age=86400
Expires:Thu, 11 Aug 2016 12:16:43 GMT

D'après ma compréhension, cette ressource doit être conservée dans le cache du navigateur pendant une journée, et lorsqu'elle est actualisée pour la deuxième fois pendant la période de cache, elle doit être renvoyée directement sans envoyer de demande

Status Code:200 OK (from cache)

En fait, le serveur traitera le résultat renvoyé via la comparaison etag/Last-Modified pour chaque requête si le If-Modified-Since/If-None-Match renvoyé par l'en-tête de la requête ne correspond pas à l'etag/Last-Modified existant. , Renvoyez 200 pour actualiser la ressource, et si cela correspond, renvoyez 304.

Alors quelle est la signification d'Expires/Cache-Control ?

Mise à jour du 8 au 12

Configurez les paramètres suivants sur nginx

 add_header Last-Modified "";
 expires      5d;
 etag off;

Désactivez etag, désactivez la dernière modification ; activez uniquement la durée de cache de 5 jours.

les en-têtes de réponse sont renvoyés comme suit :

Accept-Ranges:bytes
Cache-Control:max-age=432000
Connection:keep-alive
Content-Length:826
Content-Type:text/css
Date:Fri, 12 Aug 2016 05:52:24 GMT
Expires:Wed, 17 Aug 2016 05:52:24 GMT
Server:nginx/1.4.1

Lors de la demande du fichier css, le cache du navigateur n'est pas valide, le serveur renvoie 200 à chaque fois, et renvoie du css dans le corps

Il semble que le paramètre expires ne soit d'aucune utilité

 ;

ringa_leeringa_lee2781 Il y a quelques jours642

répondre à tous(3)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-05-16 17:17:19

    Cela a été résolu. J'ai bien compris. Expires est en effet utilisé pour contrôler le délai d'expiration du cache, il renvoie 200 (fromcache)
    Mais le fait est que ma méthode d'accès est erronée. Le contrôle n'est pas valide pour l'actualisation f5. La bonne façon est de confirmer l’accès direct dans la barre d’adresse.

    Blog de référence
    http://www.cnblogs.com/skynet...

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 17:17:19

    Vous devriez avoir les deux fonctions activées, Last-Modified sera affiché en premier, Nginx devrait activer Last-Modified par défaut, ou je m'en souviens mal

    Généralement, les ressources statiques telles que les images et CSS utilisent Expires/Cache-Control car il y a très peu de changements. Pour ceux qui ont plus de modifications, vous pouvez utiliser Last-Modified pour vous assurer que le navigateur obtient la dernière version

    répondre
    0
  • 某草草

    某草草2017-05-16 17:17:19

    L'auteur l'a configuré dans nginx.conf. Mes expirations configurées n'ont pas pris effet. Mais la compression gzip prend effet...

    répondre
    0
  • Annulerrépondre