php与浏览器缓存机制介绍_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 状态码,并从本地直接读取缓存。

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

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

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

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

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

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

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

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

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