cookies&session
诞生
- 由于HTTP协议是无状态的协议,一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。于是需要引入一种机制,COOKIE于是就顺应而生。
- Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。
区别
- cookie数据存放在浏览器中,而Session数据放在服务器中
- cookie一般存放的少量且不重要的数据,Session中可以存放较多的数据。
- cookie中存放的字符串,session中可以存放任何对象
cookie&sessionStorage&localStorage
他们都是保存在浏览器端的,且是同
比较
cookie和local Storage
- cookies支持的数据内容小,一般8K左右;local Storage能支持到10M左右;
- cookies不能进行跨域访问,作为HTTP请求的一部分,会增加带宽
- local Storage本地化持久化
- web Storage拥有setItem,getItem,removeItem,clear等方法,不需要cookies那样,自己进行封装
session Storage和local Storage
- local Storage适用于长期存储数据,浏览器关闭之后数据不丢失
- session Storage存储的数据在浏览器关闭之后自动删除
cookies和sessionStorage和localStorage
- cookies数据始终在同源的HTTP请求中携带;而后两者不会自动把数据发给服务器,仅在本地保存
- cookies还有路径的概念,可以限制只属于某个路径下
#HTML5离线存储
两种方式:
- HTML5的离线存储
.appcache
文件(废弃) service-work
的标准
强缓存&协商缓存
由于服务器端的资源不是一直固定不变的,会不时的进行更新,所以此时依旧访问本地缓存的话,对于用户来说看到的还是旧的资源,相当于没有进行过更新。所以我们希望当服务器更新了资源就向服务器请求新资源,没有更新就使用本地缓存,最大程度减少因网络请求而带来的资源浪费。