Maison  >  Article  >  développement back-end  >  Comment utiliser php pour configurer le navigateur pour ne pas générer de cache

Comment utiliser php pour configurer le navigateur pour ne pas générer de cache

PHPz
PHPzoriginal
2023-04-25 17:36:25676parcourir

Lors du développement d'applications Web, nous rencontrons généralement des problèmes de cache du navigateur. Pendant le processus de développement et de test, en raison de l'existence du cache du navigateur, nos modifications du code peuvent ne pas prendre effet immédiatement, ce qui entraîne de nombreux désagréments pour le développement et les tests.

Ci-dessous, nous présenterons comment utiliser php pour configurer le navigateur pour qu'il ne génère pas de cache.

  1. Utiliser la fonction d'en-tête de php

php fournit une fonction d'en-tête, qui peut envoyer des informations d'en-tête HTTP brutes au navigateur, et nous pouvons l'utiliser pour définir le cache du navigateur. En définissant les en-têtes de réponse Expires et Cache-Control dans la fonction d'en-tête, nous pouvons demander au navigateur de ne pas mettre la page en cache. Par exemple :

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");

Ce code définit Expires dans l'en-tête de réponse sur une date d'expiration, indiquant au navigateur de ne pas mettre la page en cache. De même, Cache-Control : no-cache signifie ne pas mettre la page en cache.

  1. Définir l'en-tête de réponse Pragma

Une autre façon de définir le cache du navigateur consiste à définir l'en-tête de réponse Pragma. L'en-tête Pragma indique que la page ne doit pas être mise en cache et est un en-tête hérité du protocole HTTP/1.0. Par exemple :

header("Pragma: no-cache");
  1. Définir des balises HTML

En plus de définir les en-têtes de réponse, nous pouvons également utiliser des balises méta dans les pages HTML, qui peuvent définir le cache du navigateur lors du chargement de la page. Par exemple :

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

Cette balise méta indique au navigateur de ne pas mettre la page en cache. La valeur de Content est no-cache, no-store et must-revalidate, ce qui signifie que la page n'est pas mise en cache. -cache, ce qui signifie que la page n'est pas mise en cache. La valeur de Expires Une valeur de 0 indique que la page a expiré.

  1. Ajouter des chaînes aléatoires aux ressources statiques

Pour les ressources statiques (telles que CSS, JS, images, etc.), nous pouvons ajouter des chaînes aléatoires à leurs liens, afin que le navigateur en obtienne de nouvelles à chaque fois qu'il les demande contenu des ressources. Par exemple :

<link rel="stylesheet" href="style.css?v=<?=rand(1, 10000)?>" />

La fonction rand génère ici un nombre aléatoire et l'ajoute au paramètre URL, de sorte qu'une nouvelle URL soit générée à chaque fois que cette ressource est demandée, évitant ainsi la mise en cache du navigateur. De même, nous pouvons également utiliser des méthodes similaires dans JS, des images et d'autres ressources.

Résumé

Configurer le navigateur pour qu'il ne génère pas de cache est très important pour le développement et les tests Web, car cela peut éviter des problèmes tels que des mises à jour intempestives de code causées par le cache du navigateur. PHP fournit la fonction d'en-tête pour définir les en-têtes de réponse. Vous pouvez également utiliser des balises méta en HTML pour définir le cache du navigateur. Vous pouvez également ajouter des chaînes aléatoires aux ressources statiques pour éviter la mise en cache. J'espère que cet article sera utile à tout le monde lors de l'apprentissage et de l'utilisation de PHP pour configurer le cache du navigateur.

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