Web存储

早先有Cookie和Session用来Web存储,HTML5推出了Web Storage(localStorage和sessionStorage),后者并不是前者的完全替代。

1.Cookie和Session的工作流程

客户端首次访问服务器,服务器生成一个针对此客户端Session文件存在缓存,服务器给客户端发送请求时携带一个几乎不会重复的Session_id,客户端会生成针对此浏览器的Cookie文件,并保存Session_id。

此后,客户端每次发送请求都会在头部携带Cookie,服务器端验证Cookie信息,识别客户端。

2.Cookie和Session的存储位置和生命周期

其实了解上面过程后,我们发现它两本身就是负责不同功能的。

Session是会话级的,因为Session文件留存在服务器端缓存中,关闭浏览器就随之销毁。Cookie则不会,因为保存在客户端本地的Cookie文件夹中。但并不代表Cookie是永久的,看看Cookie的主要结构:

Name|Value|Domain|Expire|Path|Size...

所以Cookie的生命周期取决于过期时间的设置。

另外,Session、localStorage、SessionStorage都是键值对结构。

3.Cookie的缺点

单个Cookie有大小限制,最大只能存储4kb。

每次请求都附在头部传输,不安全也浪费带宽。

4.Web Storage特点

最大支持5MB。

不附在请求头中发送给服务器。

原文地址:https://www.cnblogs.com/feitan/p/5417944.html