Skip to main content
德胜云
  万速智能9 > CDN

真没想到「如何让网站速度提升10倍!(五):控制浏览器缓存」怎么让网站速度变快如何提高网站速度

2023-08-20 02:52:30 浏览:

真没想到「如何让网站速度提升10倍!(五):控制浏览器缓存」怎么让网站速度变快如何提高网站速度

浏览器缓存不会加速客户端与服务器端的速率,但是因为减少了实际传输的数据量,所以会加速网站的载入速度并且有效的降低流量占用。(降低流量占用对于采用CDN加速,还是按照流量计费的很有帮助)

对于apache服务器,可以通过mod_expires mod_headers 这两个模块来设置缓存时间,也就是告诉浏览器多长时间缓存过期,请求新的文件。下面的代码放到.htaacess文件中就可以,因此虚拟主机就可以使用。

这里是一个比较灵活的设置各种文件缓存时间的代码:

# 启用Expires 并设置默认的缓存时间为0

ExpiresActive On

ExpiresDefault A0

# Set up caching on media files for 1 year (forever?)

<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">

ExpiresDefault A29030400

Header append Cache-Control "public"

</FilesMatch>

# Set up caching on media files for 1 week

<FilesMatch "\.(gif|jpg|jpeg|png|swf)$">

ExpiresDefault A604800

Header append Cache-Control "public"

</FilesMatch>

# Set up 2 Hour caching on commonly updated files

<FilesMatch "\.(xml|txt|html|js|css)$">

ExpiresDefault A7200

Header append Cache-Control "proxy-revalidate"

</FilesMatch>

# Force no caching for dynamic files

<FilesMatch "\.(php|cgi|pl|htm)$">

ExpiresActive Off

Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"

Header set Pragma "no-cache"

</FilesMatch>

这个设置使用了mod_expires mod_headers 两个模块,大家在使用时可以根据自己的情况设置每种文件的缓存。

mod_expires 也可以按照下面的格式设置每种MIME类型的缓存时间,不过不如上面的方便

ExpiresActive on|off

ExpiresDefault <code><seconds>

ExpiresByType type/encoding <code><seconds>

另外也可以通过mod_headers 进行设置:

# 1 YEAR

<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">

Header set Cache-Control "max-age=29030400, public"

</FilesMatch> # 1 WEEK

<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">

Header set Cache-Control "max-age=604800, public"

</FilesMatch> # 3 HOUR

<FilesMatch "\.(txt|xml|js|css)$">

Header set Cache-Control "max-age=10800"

</FilesMatch> # NEVER CACHE

<FilesMatch "\.(html|htm|php|cgi|pl)$">

Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"

</FilesMatch>

可以通过FireBug+YSlow检查是否设置成功了,打开Components ,点击查看对应元素的Response Headers,如下:

从上图可以看到 Cache-Control max-age=900, proxy-revalidate ,也就是这个页面的缓存时间设置为900秒。使用其他可以查看header信息的软件也可以检测,不过FireBug+YSlow可以说是网站开发的必备工具,推荐大家使用。

缓存的设置还有很多方法,例如通过ASP PHP也可以设置,当然在服务器上设置是相对简单的事情,也灵活的多。IIS服务器的设置我不熟悉,就不讲了。

大家应该仔细检查下自己网站的缓存设置是否符合需求,这个对于加速用户打开网站速度,节省带宽,降低服务器资源占用都有好处。

系列文章:

让你的网站速度提升10倍!(四):压缩~~~

让你的网站速度提升10倍!(三):给页面瘦身

你的网站速度提升10倍!(二):分析网络问题

让你的网站速度提升10倍!系列之一

真没想到「如何让网站速度提升10倍!(五):控制浏览器缓存」怎么让网站速度变快如何提高网站速度

  • 居然可以这样「请问一下各位大佬,服务器、云服务器和虚拟主机有
  • 没想到「香港站群服务器分配IP有哪些步骤?」香港建站服务器香
  • 越早知道越好「如何利用宝塔面板搭建服务器环境及网站的详细教程
  • 学到了吗「VPS和云服务器以及独立服务器的区别?」云服务器跟
  • 新鲜出炉「站群服务器建站站群的IP怎么设置」香港的服务器用什