如何为网站添加缓存?

3

根据Google页面速度工具的提示,我应该利用浏览器缓存。那么,我该如何为我的网站实现呢?我只需要缓存所有资源,但不包括静态HTML页面。我需要添加什么代码?这些代码应该在HTML页面的哪个位置添加?

1个回答

5
为了让浏览器缓存静态元素(通常是CSS、JS和图片),您必须发送这些元素所需的HTTP头文件。
请注意,这与您的HTML页面无关:CSS/JS/images是使用不同的HTTP请求获取的,每个资源一个请求。
您需要做的是配置您的Web服务器,使其发送HTTP头以指示浏览器应该缓存这些项目。
通常,如果使用Apache,您将使用mod_expires,并且您将使用类似于此的配置块:
<IfModule mod_expires.c>
    ExpiresActive   On
    ExpiresByType   text/css    "access plus 6 hours"
    ExpiresByType   application/javascript    "access plus 6 hours"
    ExpiresByType   image/gif    "access plus 1 weeks"
    ExpiresByType   image/png    "access plus 1 weeks"
    ExpiresByType   image/jpeg    "access plus 1 weeks"
</IfModule>

注意:您可能需要更改缓存持续时间以适应您的需求。

啊,这与HTML无关吗?我没有访问服务器的权限,我的网站是由别人托管的。 - UrBestFriend
HTML页面是一回事;每个JS/CSS/图像都是另一回事,独立于HTML页面--每次请求都有一个不同的HTTP请求。 - Pascal MARTIN
2
你可能仍然可以编写一个 .htaccess 文件。 - kapa
感谢您的回复。我认为edicy.com不允许编写.htaccess文件。 - UrBestFriend
不客气 :-) 如果您无法启用缓存(mod_expires)和压缩(mod_deflate),那就太糟糕了 :-( - Pascal MARTIN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接