在网站的过期标头中设置多长时间比较合适?

发布于 2024-09-11 14:08:30 字数 402 浏览 9 评论 0原文

“网页变得越来越 更多脚本、风格的复杂 其上的工作表、图像和 Flash。一个 首次访问页面可能需要 多个 HTTP 请求来加载所有 成分。通过使用 Expires 标头 这些组件变得可缓存, 这可以避免不必要的 HTTP 请求 在随后的页面浏览量中。过期 标头最常与以下内容相关联: 图像,但它们可以而且应该 用于所有页面组件,包括 脚本、样式表和 Flash。”

正如 Yslow 中所写。

我的问题是,对于一个具有多个样式表、Flash 标头、Javascript、图像的网站,在过期标头中设置多长时间比较好? PDF、MS Excel 文件、PPT 等?

如果我想对所有内容设置相同的过期时间。

"Web pages are becoming increasingly
complex with more scripts, style
sheets, images, and Flash on them. A
first-time visit to a page may require
several HTTP requests to load all the
components. By using Expires headers
these components become cacheable,
which avoids unnecessary HTTP requests
on subsequent page views. Expires
headers are most often associated with
images, but they can and should be
used on all page components including
scripts, style sheets, and Flash."

As written in Yslow.

my question is how much time would be good to set in expire header for a website which has multiple stylesheets, Flash headers, Javascripts, images, PDF, MS Excel files, PPT etc.?

If I want to set same expire time on all things.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感情旳空白 2024-09-18 14:08:30

我所做的是将 CSS 和 JavaScript 文件的过期时间设置为一个较高的值,例如 1 或 5 年。当我更改样式表或 JS 文件时,我会更改其 URL 中的版本号,以防止从缓存中提供过时的文件。

看起来这也是 SO 所做的:

<link rel="stylesheet" href="http://sstatic.net/stackoverflow/all.css?v=e27c9b7474df">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script src="http://sstatic.net/js/question.js?v=b05e8725a843" type="text/javascript"></script>

因此,当他们更改样式表时,他们将 all.css?v=e27c9b7474df 更改为 all.css?v=some new versionquestion.js javascript 文件遵循相同的约定。但文件名也可以,你可以将 CSS/JS 文件命名为 all-1.css,然后将其更改为 all-2.css 等。实际格式为只要 URL 发生变化,版本号就由您决定。

What I do is set the expiry time of CSS and JavaScript files to a high value, like 1 or 5 years. When I change the stylesheets or JS files, I change the version number in their URLs, to prevent stale files from being served from cache.

Looks like this is what SO does, too:

<link rel="stylesheet" href="http://sstatic.net/stackoverflow/all.css?v=e27c9b7474df">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script src="http://sstatic.net/js/question.js?v=b05e8725a843" type="text/javascript"></script>

So when they change the stylesheet, they change all.css?v=e27c9b7474df to all.css?v=some new version. The question.js javascript file follows the same convention. But filenames would work too, you could call your CSS/JS files all-1.css, then change it to all-2.css, etc. The actual format of the version number is up to you as long as the URL changes.

栀梦 2024-09-18 14:08:30

如果您的页面资源(图像/css/js)通常不会更改并且是静态的,您可以将过期标头设置为较远的值,例如1年

对于页面本身来说,它确实取决于内容。如果您的内容更改非常频繁,您应该确保您的过期标头没有设置得那么大,否则您的访问者将收到过时的内容。

如果您考虑像 SO 本身这样的网站,内容变化如此频繁,以至于页面上的过期标头非常小。从标题来看,他们使用了 60 秒的最大期限,并且在当前时间后 1 分钟内有一个过期标题。

If your page resources (images/css/js) typically don't change and are static you can set the expires header to something far out like 1 year.

For the pages themselves it really depends on the content. If you content changes very frequently you should make sure your expires header are not set that large otherwise your visitors will receive stale content.

If you think about a site like SO itself, the content changes so frequently that the expires header on the page is very small. From the headers, looks like they use a 60 second max age and have a expires header 1 minute out from the current.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文