使用ETag进行session的降级】的更多相关文章

回顾 在web后台开发中我们经常需要存储一些变量到session中进行暂存,最为特殊的就是"购物车",由于http的无状态特性,因此我们需要在客户端打上一个标记,唯一的标示客户端并和服务端session一一对应,因此就有了通过cookie和url进行存储或传递这个标示--sessionID. sessionID是一个长的字符串,它往往默认通过cookie来保存,这个session并不持久化到硬盘而是暂存到内存中,每次请求时都会在head中带上这个包含sessionID的cookie,服…
cookie 和 session 众所周知,HTTP 是一个无状态协议,所以客户端每次发出请求时,下一次请求无法得知上一次请求所包含的状态数据,如何能把一个用户的状态数据关联起来呢? 比如在淘宝的某个页面中,你进行了登陆操作.当你跳转到商品页时,服务端如何知道你是已经登陆的状态? cookie 首先产生了 cookie 这门技术来解决这个问题,cookie 是 http 协议的一部分,它的处理分为如下几步: 服务器向客户端发送 cookie. 通常使用 HTTP 协议规定的 set-cookie…
一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会丢失) 3.支持5种数据类型:string,hash,list,set,zset 4.两种文件格式(即数据持久化) (1)RDB(全量数据):把内存中的数据写入磁盘,便于下次读取文件时进行加载 (2)AOF(增量请求):类似mysql的二进制日志,不停地把对数据库的更改语句记录到日志中,下次重启服务…
设置浏览器缓存的几种方法: Last-Modified : 服务器上文件的最后修改时间 Etag  : 文件标识 Expiers : 本地缓存目录中文件过期的时间 ( 由服务器指定具体的时间 ) Cache-control  缓存控制 浏览器端的缓存规则 对于浏览器端的缓存规则是在HTTP协议头和 HTML 页面 Meat 标签中定义的.分别从 新鲜度 和 校验值两个维度来规定浏览器是否可以直接使用缓存中的副本,还是需要到原服务器获取更新的版本 新鲜度 ( 过期机制 ) :也就是缓存副本有效期.…
http://blog.hehehehehe.cn/a/10994.htm 客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应同时记录相关属性标记(Http Reponse Header),服务器端的返回状态会是200,格式类似如下: 1. HTTP/1.1 200 OK 2. Date: Tue, 03 Mar 2012 04:58:40 GMT 3. Content-Type: image…
SDP的描述网络上一大堆中文的,可以看看RFC2327 SDP 信息是文本信息,采用 UTF-8 编 码中的 ISO 10646 字符集.SDP 会话描述如下:(标注 * 符号的表示可选字段):  v = (协议版本)  o = (所有者/创建者和会话标识符)  s = (会话名称)  i = * (会话信息)  u = * (URI 描述)  e = * (Email 地址)  p = * (电话号码)  c = * (连接信息 ― 如果包含在所有媒体中,则不需要该字段)  b = * (带宽…
Etag是URL的Entity Tag,用于标示URL对象是否改变,区分不同语言和Session等等.具体内部含义是服务器控制的,就像Cookie那样. 服务器首先产生ETag,服务器可在稍后使用它来判断页面是否已经被修改.本质上,客户端通过将该记号传回服务器要求服务器验证其(客户端)缓存. 被使用的过程如下:客户端请求一个页面(A). 服务器返回页面A,并在给A加上一个ETag. 客户端展现该页面,并将页面连同ETag一起缓存. 客户再次请求页面A,并将上次请求时服务器返回的ETag一起传递给…
Etag是什么: Etag 是URL的Entity Tag,用于标示URL对象是否改变,区分不同语言和Session等等.具体内部含义是使服务器控制的,就像Cookie那样. HTTP协议规格说明定义ETag为"被请求变量的实体值" .另一种说法是,ETag是一个可以与Web资源关联的记号(token).典型的Web资源可以一个Web页,但也可能是JSON或XML文档.服务器单独负责判断记号是什么及其含义,并在HTTP响应头中将其传送到客户端. 实例详解: 也许读者们看完这个概念,还是…
1) 什么是”Last-Modified”? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样: Last-Modified: Fri, 12 May 2006 18:53:33 GMT 客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头,询问该时间之后文件是否有被修改过: If-Modified-Si…
遇到mock 测试简直就是神器,特别是要做代码覆盖率,直接测试controller就好了,缺点,虽然可以回滚事务,但是依赖数据库数据,解决,根据SpringBoot ,再建立一个专门跑单元测试的数据库,以及application.yml 想起以前用的 unitils 整合测试,巨额时间成本,都是在写XML.遇到时间变化的条件,还一点办法都没有,唯一觉得是优势的就是与环境解耦,不依赖数据库 pom配置 <plugin> <groupId>org.springframework.boo…