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; //永远重新读取

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

  • 相关阅读:
    这 100 道 Python 题,拿去刷!!!
    快速入门 TensorFlow2 模型部署
    零基础入门 Kubernetes,你需要知道这些
    Java 面试必考难点,这一个教程全搞定
    Flask实战:如何从零开发“知乎”
    关于layui表格渲染templet解析单元格的问题
    清除input输入框的历史记录
    phpmyadmin导入导出大数据文件的办法
    yiiaseInvalidCallException The cookie collection is read only.
    Yii2.0关闭自带的debug功能
  • 原文地址:https://www.cnblogs.com/liuwd/p/3035342.html
Copyright © 2011-2022 走看看