首页 后端开发 php教程 php与浏览器缓存机制介绍_PHP教程

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

Jul 20, 2016 am 11:11 AM
php 介绍 存在 文件 本地 机制 浏览 浏览器 磁盘 策略 缓存

浏览器的缓存策略,会暂时将浏览过的文件缓存在本地磁盘。当用户重复请求页面时,告知客户端页面并没有发生改变,可以调用缓存。 那么如何知道客户端是否有页面缓存呢?从 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浏览器的缓存策略,会暂时将浏览过的文件缓存在本地磁盘。当用户重复请求页面时,告知客户端页面并没有发生改变,可以调用缓存。 那...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Coinbase交易所登录入口2025 Coinbase交易所登录入口2025 Mar 21, 2025 pm 05:51 PM

Coinbase安全登录指南:如何避免钓鱼网站和诈骗? 网络钓鱼和诈骗日益猖獗,安全访问Coinbase官方登录入口至关重要。本文提供实用指南,帮助用户安全地找到并使用Coinbase最新官方登录入口,保护数字资产安全。我们将介绍如何识别钓鱼网站,以及如何通过官方网站、移动应用或可信第三方平台安全登录,并提供加强账户安全的建议,例如使用强密码和启用双重验证。 避免因错误登录导致资产损失,请务必仔细阅读本文!

欧易官方网站最新注册入口 欧易官方网站最新注册入口 Mar 21, 2025 pm 05:54 PM

欧易OKX作为全球领先的数字资产交易平台,以其丰富的交易产品、强大的安全保障和便捷的用户体验吸引众多投资者。然而,网络安全风险日益严峻,如何安全注册欧易OKX官方账户至关重要。本文将提供欧易OKX官方网站最新注册入口,并详细讲解安全注册的步骤和注意事项,包括如何识别官方网站、设置强密码、开启双重验证等,帮助您安全便捷地开启数字资产投资之旅。请注意,数字资产投资存在风险,请谨慎决策。

欧易交易所app国内下载教程 欧易交易所app国内下载教程 Mar 21, 2025 pm 05:42 PM

本文提供国内安全下载欧易OKX App的详细指南。由于国内应用商店限制,建议用户通过欧易OKX官方网站下载App,或使用官网提供的二维码扫描下载。下载过程中,务必核实官网地址,检查应用权限,安装后进行安全扫描,并启用双重验证。 使用过程中,请遵守当地法律法规,使用安全网络环境,保护账户安全,警惕诈骗,理性投资。 本文仅供参考,不构成投资建议,数字资产交易风险自负。

登录BitMEX交易所最新官方网站入口 登录BitMEX交易所最新官方网站入口 Mar 21, 2025 pm 06:06 PM

本文提供安全可靠的指南,帮助用户访问BitMEX交易所的最新官方网站,并提升交易安全。由于监管和网络安全威胁,识别BitMEX官方网站至关重要,避免钓鱼网站窃取账户信息和资金。文章介绍了通过可信加密货币平台、官方社交媒体、新闻媒体以及订阅官方邮件等方法查找官方网站入口,并强调了核对域名、使用HTTPS连接、检查安全证书等安全提示,以及启用双重验证、定期更改密码的重要性。 记住,加密货币交易高风险,请谨慎投资。

币安交易所app国内下载教程 币安交易所app国内下载教程 Mar 21, 2025 pm 05:45 PM

本文提供安全可靠的币安交易所App下载指南,帮助用户解决在国内下载币安App的难题。由于国内应用商店限制,文章推荐优先从币安官网下载APK安装包,并详细介绍了官网下载、第三方应用商店下载以及朋友分享等三种方法,同时强调了下载过程中的安全注意事项,例如验证官网地址、检查应用权限、使用安全软件扫描等。此外,文章还提醒用户了解当地法律法规,注意网络安全,保护个人信息,谨防诈骗,理性投资,安全交易。 文章最后再次强调,下载和使用币安App需遵守当地法律法规,风险自负,不构成任何投资建议。

Coinbase交易所网页版登录入口 Coinbase交易所网页版登录入口 Mar 21, 2025 pm 05:48 PM

Coinbase交易所网页版因其便捷性广受欢迎,但安全访问至关重要。本文旨在指导用户安全登录Coinbase官方网页版,避免钓鱼网站和黑客攻击。 我们将详解如何通过搜索引擎、可信第三方平台及官方社交媒体验证官方入口,并强调检查地址栏安全锁、启用双重验证、避免公共Wi-Fi、定期更改密码及警惕钓鱼邮件等安全措施,保障您的数字资产安全。 正确访问Coinbase官方网站是保护您的数字货币的第一步,本文将助您安全开启数字货币交易之旅。

币安在国内怎么下载 币安在国内怎么下载 Mar 21, 2025 pm 05:33 PM

本文提供国内安全下载币安App的指南,由于国内应用商店限制,直接下载较为困难。推荐通过币安官方网站下载APK安装包或扫描官网二维码下载App,务必仔细核对官方域名,检查应用权限,安装后进行安全扫描,并启用双重验证(2FA)。 下载及使用前请务必了解并遵守当地法律法规,数字资产交易风险较高,请谨慎操作。本文仅供参考,不构成投资建议,所有风险由用户自行承担。 关键词:币安, Binance, 下载, App, 国内, 安全, 教程, 数字货币, 加密货币

BitMEX交易所最新官方网站入口 BitMEX交易所最新官方网站入口 Mar 21, 2025 pm 06:03 PM

BitMEX作为老牌加密货币衍生品交易平台,其官方网站入口的准确性至关重要。由于钓鱼网站猖獗,误入假冒网站可能导致账户被盗和资金损失。本文旨在指导用户安全访问BitMEX官方网站,提供通过可信加密货币信息平台(如CoinMarketCap、CoinGecko)、官方社交媒体、验证现有地址及官方支持渠道等多种方法,并强调启用双重验证、定期更改密码及使用安全软件等安全措施,帮助用户有效规避风险,保障账户安全。

See all articles