expires起到控制页面缓存的作用,合理的配置expires可以减少很多服务器的请求
前面我们讲了apache设置ExpiresDefault启用浏览器缓存Leverage browser caching,如果是nginx服务器要如何设置呢?随ytkah一起来看看
var ManagerCookie = function(){ //添加cookie function addCookie(key,value,time,path){
我前面介绍了 Javascript 中如何存储,获取和删除 Cookies,现在介绍下 jQuery 如何存储,获取和删除 Cookies。
jQuery cookie是个很好的方便操作cookie。首先新建一个js文件。代码如下:
mod_expires可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。
为了加速浏览器,浏览器在用户磁盘上,对最近请求过的文档进行存储。
在负载均衡环境中(LVS, LoadBalance)为了减少浏览器数据的重复请求操作,一般需要设置 Http Header 的 Etage 和 Expires 告诉浏览器请求数据是否已过期。以下内容主要考虑Apache+squid 环境
1、准备事项 我想你需要一个正常工作的 nginx 软件,可以查看另一篇的帖子:在 Ubuntu 16.04 LTS 上安装 Nginx,PHP 7 和 MySQL 5.7 (LEMP)。 2 配置 nginx 可以参考 expires 指令手册来设置 HTTP 头部过期时间,这个标记可以放在 "http {}"、"server {}"、"location {}" 等语句块或者 "location {}" 语句块中的条件语句中。一般会在 "location" 语句块中用 "expires" 指令控制你的静态文件,就像下面一样: location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 365d; } 在上面的例子中,所有后缀名是 .jpg、 .jpeg、 .png、 .gif、 .ico、 .css 和 .js 的文件会在浏览器访问该文件之后的 365 天后过期。因此你要确保 location {} 语句块仅仅包含能被浏览器缓存的静态文件。 然后重启 nginx 进程: /etc/init.d/nginx reload 你可以在 "expires" 指令中使用以下的时间设置: ●"off" 让 "Expires" 和 "Cache-Control" 头部不能被更改。 ●"epoch" 将"Expires" 头部设置成 1970 年 1 月 1 日 00:00:01。 ●"max" 设置 "Expires" 头部为 2037 年 12 月 31 日 23:59:59,设置" Cache-Control "的最大存活时间为 10 年 ●没有" @ "前缀的时间意味着这是一个与浏览器访问时间有关的过期时间。可以指定一个负值的时间,就会把" Cache-Control "头部设置成" no-cache"。例如:"expires 10d" 或者" expires 14w3d"。 ●有" @ "前缀的时间指定在一天中的某个时间过期,格式是 Hh 或者Hh:Mm,H 的范围是 0 到 24,M 的范围是 0 到 59,例如:"expires @15:34"。 你可以用以下的时间单位: ●"ms": 毫秒 ●"s": 秒 ●"m": 分钟 ●"h": 小时 ●"d": 天 ●"w": 星期 ●"M": 月 (30 天) ●"y": 年 (365 天) 例如:"1h30m" 表示一小时三十分钟,"1y6M" 表示一年六个月。 注意,要是你用一个在将来很久才会过期的头部,当组件修改时你就要改变组件的文件名。因此给文件指定版本是一个不错的方法。例如,如果你有个 javascript.js 文件 并且你要修改它,你可以在修改的文件名字后面添加一个版本号。这样浏览器就要下载这个文件,如果你没有更改文件名,浏览器将从缓存里面加载(旧的)文件。 除了把基于浏览器访问时间设置" Expires" 头部(比如 "expires 10d")之外,也可以通过在时间前面的" modified "关键字,将 "Expires" 头部的基准设为文件修改的时间(请注意这仅仅对存储在硬盘的实际文件有效)。 expires modified 10d; 3 测试 要测试你的配置是否有效,可以用火狐浏览器的开发者工具中的网络分析功能,然后用火狐访问一个静态文件(比如一张图片)。在输出的头部信息里,应该能看到 Expires 头部和有 max-age 标记的 Cache-Control 头部(max-age 标记包含了一个以秒为单位的值,比如 31536000 就是指今后的一年) 霸气!Nginx 中缓存静态文件秘籍霸气!Nginx 中缓存静态文件秘籍 4 链接 nginx 的 Http 头部模块(HttpHeadersModule):" http://wiki.nginx.org/HttpHeadersModule"
最近客户反应说网站加载很慢,通过GTmetrix检测到有一项值Leverage browser caching为0,这是什么意思呢?前面这篇文章有个简单的科普:Expires 或 Cache-Control 响应头—前端性能优化 3,一般来讲,浏览器等客户端都会有缓存机制来减少 HTTP 请求的数目和大小,让页面能够更快加载。Web 服务器通过有效期 HTTP 响应头来告诉客户端,页面的各个组件应该被缓存多久。如果你用的是 Apache 服务器,用 ExpiresDefault 指令来设置相对于当前日期的有效期。下面就随ytkah一起来看看吧
这篇教程说明你应该怎样配置 nginx、设置 HTTP 头部过期时间,用 Cache-Control 中的 max-age 标记为静态文件(比如图片、 CSS 和 Javascript 文件)设置一个时间,这样用户的浏览器就会缓存这些文件。这样能节省带宽,并且在访问你的网站时会显得更快些(如果用户第二次访问你的网站,将会使用浏览器缓存中的静态文件)。
我们将要Python标准库实现一个LRU(least recently used)缓存,具有优先级和到期时间。这是一个常见的面食问题,但我们将远离数据结构——没有堆、没有二叉树。总之,我们会得到一个可用的方案。
在客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应同时记录相关属性标记(Http Reponse Header),服务器端的返回状态会是200,格式类似如下:
使用正确的设置,可以强制 Linux 用户定期更改密码。以下是查看密码时效以及如何更改其中设置的方法。
HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。 请求时的缓存指令包括: no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached等。 响应消息中的指令包括: public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。
强缓存中,当请求再次发出时,浏览器会判断目标资源是否“命中”强缓存,如果命中则直接从缓存中获取资源,不会再与服务端发生通信。
1.静态的html页面想要设置使用缓存:<meta http-equiv="expires" content="utc时刻"/>,目前我只明确该方法可行。如果设置了<meta http-equiv="cache-control" content="max-age=时间"/>并不起缓存作用。 2.动态页面使用缓存:在页面上使用<meta http-equiv="expires" content="utc时刻"/>和<meta http-equiv="cache-control" content="ma
Cookie 相信大家都不陌生,但是很多时候我们都是这样:“啊,我这个地方要用 Cookie 了,怎么办?没事,装一个 npm 包嘛”,或者去 MDN 去抄一两个函数。没什么机会手写一个 js-cookie 的库,今天就带大家一起来写一个 js-cookie 的小库。
平时会用laf云做一些小工具,最近在做公众号相关调研时遇到了缓存token的问题,每天只允许调用2000次,所以需要将公众平台的API调用所需的access_token缓存下来。
https://download.csdn.net/download/qq_38154948/85358088
利用云函数请求微信服务器获取小程序全局唯一后台接口调用凭据并存入云数据库,配合云函数的触发器来实现定期刷新。
Cache-Control 比Expires比较要内涵,具备更多的属性,其中包括如下
对nginx 来说,实现的方法很简单,只要在location段中,使用 expires 就可以了
cookie是存于用户硬盘上的一个文件,对应一个域名,当浏览器再次访问这个域名时,便使用这个cookie。
函数主体 <?php function get_cookie($header=0) { if ($header == '' || empty($header)) { retur
如无特殊说明《Moleft专用函数库(五) - 从响应头中提取Cookie》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-211.html
浏览器和服务器之间的通信少不了HTTP协议,但是因为HTTP协议是无状态的,所以服务器并不知道上一次浏览器做了什么样的操作,这样严重阻碍了交互式Web应用程序的实现。
flask 框架设置cookie,如果没有指定过期时间,那么cookie 将会在浏览器关闭后过期。
1. uni-app学习(二) 1.1. 好用css记录 一定透明度的背景色background: rgba(255,255,255,.6); 1.2. 好用的代码段 store(用户登录) export default { state: { hasLogin: false, //登陆状态 loginProvider: "", //登陆方式 如 微信 openid: null, //应用id address: {}, //收货地址
在linux系统中,默认创建的用户的有效期限都是永久的,但有时候,我们需要对某些用户的有效期限做个限定! 比如:公司给客户开的ftp账号,用于客户下载新闻稿件的。这个账号是有时间限制的,因为是付费的。合同到期了,这个账号就要求停用。 废话不多说,直接说下操作记录: 需求: 创建lzwb账号,用于下载/home/hqsb里面的新闻稿件,这个账号的合同到期时间是2018年10月26号 1)创建账号lzwb [root@dev ~]# useradd lzwb -d /home/hqsb -s /sbin/nol
使用node的request库请求微信接口,将获取的token及设定的有效期存入本地json文件 请求时判断当前时间是否在设定的有效期(这里暂定为1小时)内,有效则返回缓存在json文件的token,无效则重新请求微信接口返回token并写入本地json
随着linux使用的普遍,对于linux用户以及系统的安全要求越来越高,而用户密码复杂程度是系统安全性高低的首要体现。因此如何对linux下用户的密码进行规则限制,以保证用户必须使用复杂的密码,杜绝用户随意使用简单的密码,从而提高用户的安全性和系统的安全性。下面就不做过多赘述,直接以centos6版本为例进行介绍: 1)用户密码策略 Linux系统下的用户密码的有效期,是否可以修改密码可以通过login.defs文件控制.对login.defs文件修只影响后续建立的用户,如果要改变以前建立的用户的有效期等可
例如我们现在有一个静态资源 s.css page.html 中引用了 s.css 访问page.html,通过firebug查看网络请求,会看到发送了2个网络请求,正常返回200状态 由于浏览器有默认
Cache-Control: no-cache Pragma: no-cache Expires: Thu,01Dec199416:00:00GMT
如果运行crontab如遇下面这样的错误: $ crontab -l You (zhangsan) are not allowed to access to (crontab) because of pam configuration. 原因可能是因为用户zhangsan密码过期了。当尝试以密码登录时,会报提示需要立即修改密码: $ su - zhangsan Password: You are required to change your password immediately (password aged) Changing password for zhangsan. (current) UNIX password: 如果正好是hadoop集群,由于需要免密码登录,密码不能过期。 可以使用命名chage查看实际情况,比如(请以root用户运行): #chage -l zhangsan Last password change : Nov 23, 2015 Password expires : Feb 21, 2016 Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 90 Number of days of warning before password expires : 7 从上可以看到:每90天需要修改一次密码,密码到期前7天会告警。 为了让密码永久有效,可这样设置一下: chage -M 99999 zhangsan 再次查看: #chage -l zhangsan Last password change : Nov 23, 2015 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7
https://www.zybuluo.com/phper/note/133244
跨域访问cookie (仅支持二级域名) 参考:javascript跨域设置cookie(二级域名)_xuebingnan的博客-CSDN博客
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title></title> <link href="css/default.css" rel="stylesheet" type="text/css" /> <link href="css/skin_0.css" rel="stylesheet" type="text/css" id="cssfile" /> <script src="../../scripts/jquery.js" type="text/javascript"></script> <script src="js/jquery.cookie.js" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[
优点:不占用服务器资源,可以永远保存,不用考虑失效的问题 缺点: 对购买商品的数量是有限制的,存放数据的大小 不可以超过2k,用户如果禁用cookie那么就木有办法购买商品,卓越网实现了用户当用户禁用cookie,也可以购买。
参考:http://golangtc.com/t/5322b2ea320b523f0a000075 http://www.tuicool.com/articles/BFruI3 http://www.cnblogs.com/fengbohello/p/4665883.html https://segmentfault.com/q/1010000005025933/a-1020000005032034 http://www.cnblogs.com/go-ios/p/3906251.html http://blog.csdn.net/tiaotiaoyly/article/details/38942311
有同学私信问了这样的问题,访问 pig4cloud 的演示环境 查看登录请求 network 返回报文如下:
cookie 基本概念 cookie非常小,限制在4kb左右,很多浏览器都限制一个站点最多保存20个cookie。 如果没有设置时间,则表示cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就会消失,这种被称为会话cookie,它会被保存在内存中。 当设置了过期时间,浏览器会把cookie保存在硬盘中,关闭浏览器之后任然有效,直到超过设定的过期时间。 设置和获取cookie的方法 原生 // 使用js创建cookie document.cookie="username=John Doe
它还允许用户执行其他功能,例如设置帐户到期日期、在到期后将密码设置为无效、显示帐户时效信息、设置密码更改之前的最小和最大天数以及设置到期警告天数。
其中expires的格式为Fri Sep 27 2019 14:27:25 GMT+0800 (中国标准时间)的一个对象.toUTCString
有时我们连接远程服务器的时候,提示密码过期,需要修改密码才能登录,这时可以用chage命令来调整下用户密码的有效期,使用户可以继续使用。
领取专属 10元无门槛券
手把手带您无忧上云