zoukankan      html  css  js  c++  java
  • 利用Apache配置http expires值提高网站性能

    HTTP头中有个expires参数,设置一个未来的时间,在这时间以前,浏览器会先从cache读取,如果没有再从服务器中读取。对于像图片,css,script等静态内容,只需发一次http request就可,以后就可从cache中读取,一方面提高了响应时间,也减少了http rquest的次数。

    具体的格式如下: Expires = "Expires" ":" HTTP-date。

    Example: Expires: Thu, 01 Dec 2010 16:00:00 GMT.

    Expires有个缺点就是它只能设置绝对时间,这样每当到达预设时间点后必须重设expires值。HTTP/1.1提供了一个新的参数cache-control可以设置相对时间。

    Cache-Control:Max-age

    Cache-Control使用max-age直接指定component能被缓存多长时间. 它定义了新的方式用秒为单位. 假如当前时间与上次返回时间差小于上次返回的max-age,那么浏览器使用缓存的版本。如果需要缓存10年,你可以这样指定:

    Cache-Control: max-age=315360000

    PS: 如果同时设置了cache-control和expires,cache-control会覆盖expires。

    Apache中配置expires

    Apache提供了mod_expires.so模块,可以轻松的设置expires值,以下是配置的范例:

    LoadModule expires_module modules/mod_expires.so

    ExpiresActive On

    ExpiresDefault "access plus 300 seconds"  #默认300秒过期

    <Directory "/myProject/webResources">   #文件所在目录

        Options FollowSymLinks MultiViews

        AllowOverride All

        Order allow,deny

        Allow from all

        ExpiresByType text/html "access plus 1 day" 

        ExpiresByType text/css "access plus 1 day"

        ExpiresByType text/javascript "access plus 1 day"

        ExpiresByType image/gif "access plus 1 day"

        ExpiresByType image/jpg "access plus 1 day"

        ExpiresByType image/png "access plus 1 day"

        ExpiresByType application/x-shockwave-flash "access plus 1 day"

    #设置cache时间为1天

  • 相关阅读:
    mysql分组排序取组内第一的数据行
    C#版Nebula客户端编译
    关于nginx
    http状态码
    gitlab
    TCP/IP 3次握手和四次断开
    nps 内网穿透
    用CentOS7做一个简单的路由器
    linux 简单特效
    LVS粗讲
  • 原文地址:https://www.cnblogs.com/wajika/p/6600537.html
Copyright © 2011-2022 走看看