zoukankan      html  css  js  c++  java
  • 前端优化(静态资源)

    expires是http头的一个属性,用于设定资源文件缓存的过期时间,这个属性不仅可以用于网页,还可以用于图片、css文件、js文件等资源文件。一个资源文件设置了expires过期时间并且在浏览器端缓存后,在过期时间前,浏览器再次访问该资源时不会再请求(连接)服务器(按F5强制刷新除外),直接使用浏览器上的本地缓存,哪怕服务器里的资源版本已经改变了。如果不设置expires,浏览器会请求(连接)服务器,判断本地缓存中的资源与服务器里的资源是否一样,如果一样,服务器返回304状态到浏览器,浏览器不再下载服务器的版本,直接使用本地缓存;如果不一样,浏览器会下载服务器上新的资源替换本地缓存中的旧资源。

      如果一个网站静态资源很多,而且这些资源在较长一段时间内不会再改变,可以对这些资源设置expires属性,这样的话可以大量减少与服务器的连接数,可以减轻服务器的负担,同时也使得页面的加载速度有很大的提升,现在很多网站(著名的如网易、新浪等)的静态资源也设置了expires,其目的也就是这个。

      我现在给博客里所有的静态资源设置了35天的缓存过期时间,设置后感觉页面的加载速度的确快了,我服务器前端使用的是nginx,nginx设置资源文件的expires挺简单的:

    location ~*.(css|js|jpg|jpeg|gif|png|ico)$ {
    root /www/soluo/blog;
    expires 35d;
    }

    expire参数接受的值可以是:

    expires 1 January, 1970, 00:00:01 GMT; //设定到具体的时间
    expires 60s; //60秒
    expires 30m; //30分钟
    expires 24h; //24小时
    expires 1d; //1天
    expires max; //max表示过期时间为31 December 2037 23:59:59 GMT
    expires off; //永远重新读取

    实际设施中,可以根据网站的实际情况,对不同类型、不同目录下的资源文件各自设置过期时间。

  • 相关阅读:
    Calling a parent window function from an iframe
    JSON with Java
    Posting array of JSON objects to MVC3 action method via jQuery ajax
    What's the difference between jquery.js and jquery.min.js?
    jquery loop on Json data using $.each
    jquery ui tabs详解(中文)
    DataTables warning requested unknown parameter
    Datatables 1.10.x在命名上与1.9.x
    jQuery 1.x and 2.x , which is better?
    DataTabless Add rows
  • 原文地址:https://www.cnblogs.com/liuwd/p/3035342.html
Copyright © 2011-2022 走看看