• 利用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天

  • 相关阅读:
    Java基础---Java 开发工具IntelliJ IDEA 安装
    Java基础---Java循环区别
    Java基础---JavaJShell脚本工具
    Java基础---Java方法
    Java基础---Java三元运算
    Java基础---Java变量
    Java基础---Java数据类型
    Java基础---Java常量
    “ERROR: Cannot read property 'fileCoverage' of undefined...”
    矩阵乘积
  • 原文地址:https://www.cnblogs.com/wajika/p/6600537.html
Copyright © 2020-2023  润新知