前端性能优化:Add Expires headers

合理设置 HTTP缓存

缓存的力量是强大的,恰当的缓存设置可以大大的减少 HTTP请求。

  1. 很少变化的图片资源可以直接通过 HTTP Header中的Expires设置一个很长的过期头 ;
  2. 变化不频繁而又可能会变的资源可以使用 Last-Modifed来做请求验证。

(1)Apache 服务器配置 Expires headers-----.htaccess 文件(根目录下的隐藏文件)

<IfModule mod_expires.c>
#开启 Expires headers
ExpiresActive On 
#默认的过期时间
ExpiresDefault "access plus 1 month"
Cache-Control max-age=2592000
#针对 ICON 文件的配置
ExpiresByType image/x-icon "access plus 1 year"
#针对图片的配置
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
#针对 CSS 文件的配置
ExpiresByType text/css "access 1 month"
#针对 JavaScript 文件的配置
ExpiresByType application/javascript "access plus 1 year"
</IfModule>

(2)Ngnix 服务器配置 Expires headers-----nginx.conf配置文件

server {# cache static fileslocation ~* \.(gif|jpe?g|png|ico|swf)$ {# d - 天# h - 小时# m - 分钟expires 168h;add_header Pragma public;add_header Cache-Control "public, must-revalidate, proxy-revalidate";}# 由于js和css文件需要改动,设置的时间为5分钟location ~* \.(css|js)$ {expires 5m;add_header Pragma public;add_header Cache-Control "public, must-revalidate, proxy-revalidate";}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

错题

1. 本题考查String对象的声明和赋值方式。C#中没有new String() 这种方式来构造字符串。故选 AC 2. 在CSS中&#xff0c;控制列表样式的属性有&#xff1a;list-style-type&#xff0c;list-style-position&#xff0c;list-style-image&#xff0c;list-style equals比较的是像…

通过微调JVM Garbage Collector减少Java IDE滞后

有没有想过为什么Eclipse / Netbeans会一直暂停一段时间&#xff1f; 特别是在您想向亲爱的同事展示代码中的内容时&#xff1f; 感觉很尴尬和尴尬&#xff0c;不是吗&#xff1f; 我发现大多数时间由于垃圾收集器的执行而导致IDE暂停。 JVM设计中的微妙元素很少起作用&#x…

centos8部署nginx

Nginx 部署 1.创建 www用户&#xff0c; UID、GID 皆是 501&#xff0c;通过cat /etc/passwd&#xff0c;检查是否存在www用户 ~]# groupadd -g 501 www ~]# useradd -u 501 -g www www ~]# cat /etc/passwd 2.下载相应版本 ~]# wget http://nginx.org/download/nginx-1.16…

javascript-发布订阅模式

说明&#xff1a;本篇文章转载自小火柴的蓝色理想的一篇博文。原文地址&#xff1a;http://www.cnblogs.com/xiaohuochai/p/8031564.html 发布—订阅模式又叫观察者模式&#xff0c;它定义对象间的一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖…

centos8部署Django项目---后台运行

参考&#xff1a;https://www.cnblogs.com/yoyoketang/p/10220941.html 一、安装 pip install django创建项目 django-admin startproject mysite打开项目配置settings.py文件 cd mysite/mysitesettings.py文件&#xff08; DEBUG TrueALLOWED_HOSTS [127.0.0.1, localh…

python-列表list和元组tuple

list Python内置的一种数据类型是列表&#xff1a;list。list是一种有序的集合&#xff0c;可以随时添加和删除其中的元素。 比如&#xff0c;列出班里所有同学的名字&#xff0c;就可以用一个list表示&#xff1a; >>> classmates [Michael, Bob, Tracy] >>&g…

jsf表单验证_动态表单,JSF世界期待已久

jsf表单验证新的PrimeFaces扩展版本0.5.0带来了新的DynaForm组件。 通常&#xff0c;如果知道行/列的数量&#xff0c;元素的位置等&#xff0c;则可以通过h&#xff1a;panelGrid或p&#xff1a;panelGrid构建非常简单的表单。 静态表单是正确的。 但是&#xff0c;如果在运行…

转载黑客是如何黑到你手机的?绝对涨姿势,一位黑客的Wi-Fi入侵实录!

声明&#xff1a;这是一虚构的故事&#xff0c;因此对图片均进行了模糊化处理。内容整理自网络&#xff01; 故事的主人公小黑是一名从事IT相关工作的技术宅男。五一长假来临&#xff0c;宅在家中的他相当无聊&#xff0c;打开手机上的Wi-Fi模块&#xff0c;发现附近有将近10个…

linux安装pip

使用脚本安装和升级pip 要安装或升级pip&#xff0c;需要下载 get-pip.py. 地址&#xff1a;https://bootstrap.pypa.io/get-pip.py 然后运行以下命令 (需要管理员权限): $ wget https://bootstrap.pypa.io/get-pip.py $ python get-pip.py #查看pip版本 $ pip -V

我们如何意外地将Hibernate的JDBC流量增加了一倍

这篇文章描述了我最近使用Hibernate ORM的经验。 多年以来&#xff0c;该框架并没有让我感到惊讶&#xff0c;您可能会在使用它时遇到性能问题。 我以为我已经看完了&#xff0c;但是这次我又措手不及了。 该问题的基础是在对一个完全不相关的库进行故障排除时建立的&#xff…

html5——DOM扩展

元素获取 1、document.getElementsByClassName (class) 通过类名获取元素&#xff0c;以类数组形式存在。 2、document.querySelector(‘div’) 通过CSS选择器获取元素&#xff0c;符合匹配条件的第1个元素。 3、document.querySelectorAll(selector) 通过CSS选择器获取元素&am…

linux 系统安装mongodb数据库---方法1

参考&#xff1a;https://www.jianshu.com/p/994bc7b19b26 参考&#xff1a;https://blog.csdn.net/duan9015/article/details/106447942/ 1、制作 repo 文件 vim /etc/yum.repos.d/mongodb-org-4.2.repo[mongodb-org-4.2] nameMongoDB Repository baseurlhttps://repo.mongo…

JAVA递归实现全排列

全排列&#xff08;permutation&#xff09; 排列组合概念 排列&#xff0c;就是指从给定n个数的元素中取出指定m个数的元素&#xff0c;进行排序 组合&#xff0c;则是指从给定n个数的元素中仅仅取出指定m个数的元素&#xff0c;不考虑排序 全排列 以数字为例&#xff0c;全排…

centos8 linux部署node项目

1、域名解析到服务器 2、上传代码到项目目录 3、数据库&#xff1a; mongo use user user是数据库名 db.nfrc.insert({“name”:admin,“pawwsord”:“123456”}) nfrc集合名&#xff0c;相当于表名 db.nfrc.find() 数据行的id和项目中routes文件下index.js里面的id相一致 …

java云端部署_Jelastic Java云端平台

java云端部署谁在Jelastic背后&#xff1f; 那是我的第一个问题&#xff0c;因此我浏览了Jelastic网站。 回答此问题的最佳方法是查看“ Jelastic团队”部分。 创始人&#xff0c;顾问&#xff0c;特殊合作伙伴构成了一支真正的专业团队。 作为特殊的合作伙伴&#xff0c;您会…

注意点

1&#xff0c;流关闭&#xff0c;尽量不要在一个异常捕获里&#xff0c;那样一个关闭出现问题&#xff0c;下面的流不会再关闭。。。 2&#xff0c;ArrayList<String> list 可以加入null list.add(null);转载于:https://www.cnblogs.com/z2qfei/p/8056760.html

linux系统安装宝塔面板

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

Spring Bootstrap中带有配置元数据的高级配置

在简要介绍了配置元数据并涵盖了我之前的文章《 在Spring Boot中使用配置元数据Pimp您的配置》中的基础知识之后&#xff0c;是时候看看如何进一步执行此步骤并进一步自定义配置了。 在本文中&#xff0c;我计划提出对配置属性的弃用&#xff0c;并讨论各种值提供程序&#xff…

设计模式のStrategyPattern(策略模式)----行为模式

一、问题产生背景 当我们进行一系列处理时&#xff08;员工工资核算&#xff0c;会员管理&#xff0c;计算器&#xff0c;优惠活动&#xff09;&#xff0c;会有很多相似的算法和处理过程&#xff0c;只是由于具体的算法的差异&#xff0c;导致必须不同处理。这些处理和客户端无…

linux安装虚拟环境virtualenv

&#xff08;安装虚拟环境&#xff0c;不然会和其他环境冲突&#xff09; https://blog.csdn.net/wtwcsdn123/article/details/88653179 https://blog.csdn.net/u011798443/article/details/80881931&#xff08;超详细&#xff09; pip install virtualenv 创建python3环境 …