Maison  >  Article  >  interface Web  >  Les fichiers HTML seront-ils mis en cache ?

Les fichiers HTML seront-ils mis en cache ?

WBOY
WBOYoriginal
2024-02-19 13:51:22672parcourir

Les fichiers HTML seront-ils mis en cache ?

Titre : Mécanisme de mise en cache et exemples de code de fichiers HTML

Introduction : Lors de la rédaction de pages Web, nous rencontrons souvent des problèmes de cache du navigateur. Cet article présentera en détail le mécanisme de mise en cache des fichiers HTML et fournira quelques exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer ce mécanisme.

1. Principe de mise en cache du navigateur
Dans le navigateur, chaque fois qu'une page Web est consultée, le navigateur vérifie d'abord s'il y a une copie de la page Web dans le cache. Si tel est le cas, le contenu de la page Web est obtenu directement à partir du cache. C'est le principe de base de la mise en cache du navigateur. L'avantage du mécanisme de mise en cache du navigateur est qu'il peut améliorer la vitesse de chargement des pages Web, réduire les requêtes réseau et économiser la bande passante.

2. Méthodes de mise en cache HTML
La mise en cache des fichiers HTML peut être contrôlée des deux manières suivantes :

  1. Expires et Cache-Control
    En ajoutant les champs Expires et Cache-Control dans l'en-tête de réponse HTTP, vous pouvez contrôler le navigateur Le temps de mise en cache du fichier. L'exemple de code spécifique est le suivant :

    HTTP/1.1 200 OK
    Content-Type: text/html
    Cache-Control: max-age=3600
    Expires: Wed, 04 Aug 2022 08:00:00 GMT
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>

    Dans l'exemple de code ci-dessus, le champ Cache-Control spécifie le temps de cache maximum de 3 600 secondes, soit une heure, et le champ Expires spécifie le délai d'expiration du cache à 8h00. 4 août 2022.

  2. Last-Modified et If-Modified-Since
    indique l'heure de la dernière modification du fichier en ajoutant le champ Last-Modified dans l'en-tête de réponse HTTP. Une fois que le navigateur a mis le fichier en cache, il ajoutera le champ If-Modified-Since la prochaine fois qu'il demandera le fichier et enverra l'heure de la dernière modification du dernier fichier mis en cache au serveur. Le serveur déterminera si le fichier a été mis à jour en fonction. à cette heure. Si le fichier n'a pas été mis à jour, une réponse 304 Not Modified est renvoyée et le navigateur continue d'utiliser le fichier mis en cache. L'exemple de code spécifique est le suivant :

    HTTP/1.1 200 OK
    Content-Type: text/html
    Last-Modified: Mon, 01 Aug 2022 12:00:00 GMT
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>

    Dans l'exemple de code ci-dessus, le champ Last-Modified spécifie que la dernière heure de modification du fichier est 12h00 le 1er août 2022.

3. Stratégie de contrôle du cache
Selon les besoins réels, nous pouvons formuler différentes stratégies de mise en cache en fonction du contenu du fichier ou d'autres conditions pour mieux contrôler la mise en cache du navigateur.

  1. Mise en cache des fichiers statiques
    Pour les fichiers statiques qui ne changent pas fréquemment, vous pouvez définir une durée de cache plus longue afin que le navigateur puisse mettre en cache le fichier de manière persistante et réduire les requêtes adressées au serveur. Par exemple, pour les fichiers statiques tels que CSS, JavaScript et images, vous pouvez définir la durée du cache sur un an. L'exemple de code est le suivant :

    HTTP/1.1 200 OK
    Content-Type: text/css
    Cache-Control: max-age=31536000
    
    /* CSS文件内容 */
  2. Cache de fichiers dynamique
    Pour les fichiers dynamiques qui changent fréquemment, vous pouvez contrôler la durée du cache pour qu'elle soit plus courte afin de garantir que le navigateur puisse obtenir le dernier contenu du fichier en temps opportun. Par exemple, les fichiers HTML générés dynamiquement ne peuvent définir aucun champ de cache, ce qui permet au navigateur de demander la dernière version à chaque fois. L'exemple de code est le suivant :

    HTTP/1.1 200 OK
    Content-Type: text/html
    Cache-Control: no-cache, no-store, must-revalidate
    Pragma: no-cache
    Expires: 0
    
    <!DOCTYPE html>
    <html>
     <!-- HTML页面内容 -->
    </html>
  3. Cache de contrôle de version
    Lorsque le fichier est mis à jour, conservez le nom du fichier inchangé et faites croire au navigateur qu'il s'agit d'un nouveau fichier en ajoutant un numéro de version ou un horodatage au nom du fichier ou URL rechargeant ainsi le fichier. L'exemple de code est le suivant :

    <link rel="stylesheet" href="/static/style.css?v=1.0">
    <script src="/static/script.js?t=1627836018"></script>

4. Résumé
La mise en cache des fichiers HTML est réalisée en définissant les champs correspondants dans l'en-tête de réponse HTTP. En contrôlant correctement le temps de cache et les politiques, la vitesse de chargement des pages Web et l'expérience utilisateur peuvent être améliorées. Dans le développement réel, les méthodes et stratégies de mise en cache appropriées sont sélectionnées en fonction du contenu et des caractéristiques du fichier. Nous espérons que les exemples de code fournis dans cet article pourront aider les lecteurs à mieux comprendre et utiliser le mécanisme de mise en cache HTML.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn