如何使用控制缓存头? [英] how to use control-cache headers?

查看:67
本文介绍了如何使用控制缓存头?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我下载了适用于Google chrome的Google速度跟踪器,以了解我的网站如何有效地执行性能,并告诉我需要为某些文件(例如我的style.css,图片等)启用缓存.

I downloaded Google speed tracer for Google chrome to see how my site does performance wise and it tells me I need to enable caching for certain files like my style.css, images, etc.

我已经读到下面的php代码应该告诉浏览器缓存html内容.我写了一个快速的php页面,上面有几张图片,并将下面的代码粘贴在顶部(在发送标题之前)以测试其工作原理.

I've read that the below php code should tell browsers to cache html content. I wrote a quick php page with a couple of images on it and stuck the below code at the top (before the headers are sent) to test to see how it worked.

Header("Cache-Control: public, max-age=3600, must-revalidate");

当我回到速度追踪器的分析时,它说...

When I go back to speed tracer's analysis it says...

摘要 来自缓存:false

Summary From Cache: false

请求标头 语法:无快取 缓存控制:max-age = 0

Request Headers Pragma: no cache Cache-Control: max-age=0

但在响应标题下... 缓存控制:公共,最大年龄= 3600,必须重新验证(正是我指定的值)

but under Response Headers... Cache-Control: public, max-age=3600, must-revalidate (exactly what I specified)

我有点困惑,这是怎么回事...?当它从缓存中说出:false时是从服务器缓存而不是从客户端缓存中表示吗?

I'm a little confused, what's going on...? When it says from cache: false does that mean from the server cache and not the client's cache?

推荐答案

密钥为必须重新验证:这意味着客户端正在询问服务器文件是否已更改.如果您不处理这种情况,浏览器将获取一个新副本.

The key is must-revalidate: This means, that the client is asking the server if the file has changed. If you don’t handle this case, the browser will fetch a new copy.

阅读马克·诺丁汉的奇妙的缓存教程,以获取更多信息. 作为PHP实现的示例,您可以使用我的代码.

Read Mark Nottingham’s fantastic Caching Tutorial for more information. As an example for a PHP implementation you may use my code.

查看$_SERVER['HTTP_IF_NONE_MATCH']$_SERVER['HTTP_IF_MODIFIED_SINCE']以验证客户端.并且请注意,两个标头都可能包含恶意代码. ;)

Look into $_SERVER['HTTP_IF_NONE_MATCH']and $_SERVER['HTTP_IF_MODIFIED_SINCE'] for validating clients. And be aware that both headers may contain malicious code. ;)

这篇关于如何使用控制缓存头?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆