Maison développement back-end tutoriel php php与浏览器缓存机制介绍_PHP教程

php与浏览器缓存机制介绍_PHP教程

Jul 20, 2016 am 11:11 AM
php et 介绍 exister Volonté 文件 本地 机制 Parcourir 浏览器 de 磁盘 策略 缓存

浏览器的缓存策略,会暂时将浏览过的文件缓存在本地磁盘。当用户重复请求页面时,告知客户端页面并没有发生改变,可以调用缓存。 那么如何知道客户端是否有页面缓存呢?从 HTTP 协议层面来说,浏览器发送请求时会先发送如下

HTTP 头:

Connection Keep-Alive
Date Sun, 06 May 2012 18:00:36 GMT
Last-Modified Sun, 06 May 2012 17:31:02 GMT
Etag ec1f629013925ab0fa4389ba926e8c06
Keep-Alive timeout=15, max=299
Server Apache/2.2.16 (Unix) DAV/2
Vary Accept-Encoding

请注意其中的这两行,描述了页面的缓存信息:

Last-Modified Sun, 06 May 2012 17:31:02 GMT
Etag ec1f629013925ab0fa4389ba926e8c06这个情况下,如果服务器响应 304 状态码,浏览器会自觉地从缓存中读取数据;如果响应 200 状态码,不管有没有客户端缓存,照样从服务端读取。

按照这个理论支撑,比如站长军团大部分查询结果都是 ajax 异步获取的,二次访问就都可以通过这种方式进行缓存改造。只要客户端有缓存,就向客户端发送一个 304 响应状态码,然后退出程序执行。

浏览器发出的请求中包含 If-Modified-Since 和 If-None-Match 两个参数:

If-Modified-Since 表示询问数据的最后修改时间是否是某个时间值。然后服务器会检查数据的最后修改时间,如果是该时间则返回 304 状态码,客户端接收到该状态码后直接从本地读取缓存。这种情况有一个前置条件,即本地必须存在缓存资源,浏览器才会发送 If-Modified-Since 参数,并且值为上一次服务器返回的 Last-Modified 值。

If-None-Match 类似,它由服务器返回的 Etag 值生成,仅仅用于服务器检查数据的修改时间,可以是任意值。考虑到 If-Modified-Since 结合 Last-Modified 的方法并不被所有服务器支持,这里就只考虑使用 etag 的实现。

PHP 中通过 $_SERVER['HTTP_IF_NONE_MATCH'] 可以判断文件是否被浏览器缓存,代码片段如下:

//使用 etag 标记控制缓存

 代码如下 复制代码
$etag = md5(date('Ymd'));
if ($_SERVER['HTTP_IF_NONE_MATCH'] == $etag) {
 header('Etag:' . $etag, true, 304);
 exit();
} else {
 header('Etag:' . $etag);

}这里我使用当日日期来生成 etag,这样可以保证缓存最多生效一天时间,这个参数可以根据需要修改。

补充说明:
即便是 304 响应,实际上还是会请求服务端,因为需要建立连接来判断是否需要传输数据,304 缓存节约的是静态资源传输的开销;
另一种缓存是 200 响应时的缓存,不建立连接但请求会响应 200 状态码,并从本地直接读取缓存。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444666.htmlTechArticle浏览器的缓存策略,会暂时将浏览过的文件缓存在本地磁盘。当用户重复请求页面时,告知客户端页面并没有发生改变,可以调用缓存。 那...
Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Niveaux de force pour chaque ennemi et monstre de R.E.P.O.
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
2 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1662
14
Tutoriel PHP
1261
29
Tutoriel C#
1234
24
La compatibilité de l'IIS et du PHP: une plongée profonde La compatibilité de l'IIS et du PHP: une plongée profonde Apr 22, 2025 am 12:01 AM

IIS et PHP sont compatibles et sont implémentés via FastCGI. 1.IIS Transforme la demande de fichier .php au module FastCGI via le fichier de configuration. 2. Le module FastCGI démarre le processus PHP pour traiter les demandes d'amélioration des performances et de la stabilité. 3. Dans les applications réelles, vous devez prêter attention aux détails de la configuration, débogage des erreurs et optimisation des performances.

Comment enregistrer un compte sur le tutoriel d'enregistrement d'échange Oryi Exchange Ouyi Comment enregistrer un compte sur le tutoriel d'enregistrement d'échange Oryi Exchange Ouyi Apr 24, 2025 pm 02:06 PM

Les étapes pour enregistrer un compte OUYI sont les suivantes: 1. Préparez un e-mail ou un numéro de téléphone portable valide et stabiliser le réseau. 2. Visitez le site officiel d'Ouyi. 3. Entrez la page d'inscription. 4. Sélectionnez un e-mail ou un numéro de téléphone mobile pour vous inscrire et remplir les informations. 5. Obtenez et remplissez le code de vérification. 6. Acceptez l'accord d'utilisateur. 7. Compléter l'enregistrement et connecter, effectuer KYC et mettre en place des mesures de sécurité.

Binance Téléchargement de téléchargement Binance Téléchargement Path Binance Téléchargement de téléchargement Binance Téléchargement Path Apr 24, 2025 pm 02:12 PM

Pour télécharger en toute sécurité l'application Binance, vous devez passer par les chaînes officielles: 1. Visitez le site officiel de Binance, 2. Trouver et cliquer sur le portail de téléchargement de l'application, 3. Choisissez de scanner le code QR, l'App Store ou télécharger directement le fichier APK pour télécharger pour protéger la sécurité du compte.

Téléchargez le site officiel de l'application Oryi Exchange pour le téléphone mobile Apple Téléchargez le site officiel de l'application Oryi Exchange pour le téléphone mobile Apple Apr 28, 2025 pm 06:57 PM

L'application OUYI Exchange prend en charge le téléchargement des téléphones mobiles Apple, visitez le site officiel, cliquez sur l'option "Apple Mobile", obtenez-la et installez-la dans l'App Store, Inscrivez-vous ou connectez-vous pour effectuer le trading des crypto-monnaies.

Que faire si l'adresse de transfert USDT est incorrecte? Guide des débutants Que faire si l'adresse de transfert USDT est incorrecte? Guide des débutants Apr 21, 2025 pm 12:12 PM

Une fois que l'adresse de transfert USDT est incorrecte, confirmez d'abord que le transfert s'est produit, puis prenez des mesures en fonction du type d'erreur. 1. Confirmez le transfert: affichez l'historique des transactions, obtenez et interrogez la valeur de hachage de transaction sur le navigateur de blockchain. 2. Prenez des mesures: si l'adresse n'existe pas, attendez que les fonds soient retournés ou contactez le service client; S'il s'agit d'une adresse non valide, contactez le service client et demandez de l'aide professionnelle; S'il est transféré à quelqu'un d'autre, essayez de contacter le bénéficiaire ou de demander une aide juridique.

Comment enregistrer un compte sur Sesame Open Exchange? Tutoriel sur l'inscription de Sesame Open Exchange Comment enregistrer un compte sur Sesame Open Exchange? Tutoriel sur l'inscription de Sesame Open Exchange Apr 24, 2025 pm 02:00 PM

L'enregistrement d'un compte ouvert de porte sésame nécessite 7 étapes: 1. Préparer un e-mail ou un numéro de téléphone mobile valide et un réseau stable; 2. Visitez le site officiel; 3. Entrez la page d'inscription; 4. Sélectionnez et remplissez la méthode d'enregistrement; 5. Obtenir et remplir le code de vérification; 6. Acceptez l'accord d'utilisateur; 7. Compléter l'enregistrement et se connecter, il est recommandé d'effectuer KYC et de définir des mesures de sécurité.

Qu'est-ce que la transaction en chaîne? Quelles sont les transactions mondiales? Qu'est-ce que la transaction en chaîne? Quelles sont les transactions mondiales? Apr 22, 2025 am 10:06 AM

Certification de conformité UE MICA, couvrant 50 canaux de monnaie fiduciaire, le ratio de stockage à froid de 95% et zéro enregistrement d'incident de sécurité. La plate-forme sous licence américaine SEC a un achat direct pratique de la monnaie fiduciaire, un ratio de 98% de stockage à froid, une liquidité institutionnelle, prend en charge les ordres en vente libre et personnalisés à grande échelle et la protection de compensation à plusieurs niveaux.

Sesame Open Door Entrée du site officiel Sesame Open Door Dernière entrée officielle 2025 Sesame Open Door Entrée du site officiel Sesame Open Door Dernière entrée officielle 2025 Apr 28, 2025 pm 07:51 PM

Sesame Open Door est une plate-forme qui se concentre sur le trading des crypto-monnaies. Les utilisateurs peuvent obtenir des portails via des sites Web officiels ou des médias sociaux pour s'assurer que l'authenticité des certificats SSL et du contenu du site Web est vérifiée pendant l'accès.

See all articles