【问题标题】:Reduce HTTP requests - HTML cache减少 HTTP 请求 - HTML 缓存
【发布时间】:2012-04-05 07:07:06
【问题描述】:

我正在尝试减少 HTTP 请求。我有一个网页,每天都有很多独特的访问者,每个访问者每天进入该页面 35 次。 这个页面只是 JS 中的一个脚本,它每 24 小时调用一次另一个页面。 所以有人告诉我,如果我想减少服务器的负载,我应该使用 HTML 缓存。问题是我不知道什么是最适合我的设置,因为有很多选项“公共”、“私人”等。谁能帮我解决这个问题?

我不介意我没有立即更改页面内容的选项,我将不得不等待我的延迟时间,直到更新也将在每个人的缓存中。

【问题讨论】:

  • HTML 缓存?你说的是浏览器的缓存吗?
  • 您一定要通过webmasters.stackexchange.comserverfault.com 与人们交谈
  • 发送正确的 HTTP-headers 怎么样?
  • 为什么不使用 CDN、sprite 和压缩代码?
  • 其实我的意思是 HTTP-headers...

标签: html http-headers browser-cache


【解决方案1】:

控制缓存的最佳方法是设置正确的 HTTP 标头。由于您的 cmets 声明您使用 PHP,我建议您查看 PHP 的 header(),它可用于为您的页面设置 HTTP 标头。

要将页面缓存 24 小时,您可以将其放在页面的开头:

<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + (24 * 60 * 60))); ?>

如果您运行的是 Apache Web 服务器,也可以通过 .htaccess 文件来完成。看看这个SO post 了解更多信息。

有关 expires-headers 的更多信息,请查看Yahoo's article about expires headers

【讨论】:

    【解决方案2】:

    您可以安装Varnish 来缓存您的网站。基本上,在从您的网站请求页面之前,它会在 Varnish 中查找该页面,如果存在,它将返回缓存的 HTML 版本。

    如果您需要更新您网站的内容,您可以简单地清除 Varnish 缓存,这样它就会使用您的新 HTML(然后会再次缓存)。

    【讨论】:

    • 我真的应该使用它吗?该系统是一个基于 PHP 的系统,它记录有关用户的统计信息,当每个用户都有自己的数据时,它不会帮助我。唯一只有-HTML(和JS)的页面就是这一页,其他的都是PHP。
    • 它仍然可以工作:PHP 生成页面并且 Varnish 缓存它。只要缓存的版本仍然与 PHP 生成的 HTML 相同,您就可以将缓存的版本提供给用户。因此,如果内容仅每 24 小时更改一次,那么您只需使用 PHP 生成一次页面。在一天的剩余时间里,可以使用缓存的版本。
    猜你喜欢
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    相关资源
    最近更新 更多