前端缓存cookie、session、localStorage、

2019-12-14  本文已影响0人  智齿_93fa

浏览器缓存意义:浏览器可以存储很多的数据,我们在项目中把不经常更新的数据进行存储,下一次打开页面,先把本地缓存的数据展示,减少对于服务器的请求压力。

HTML5 提供了两种在客户端存储数据的新方法:

        localStorage - 没有时间限制的数据存储

        sessionStorage - 针对一个 session 的数据存储

之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。

三者区别

1. Cookie

http是一种无状态协议,在某个页面已经登陆可以浏览后,再跳转到下一个页面,服务器无法记住是哪个客户端向它发出的请求,则还需要再次登录,用户体验极差,所以使用cookie记录客户端身份。

服务器会存储在一组session集,在服务器端会设置一个响应头Set-Cookie,返回给客户端,客户端接收后,会将Set-Cookie信息存储在浏览器缓存中,之后的每次请求都会在request header中带上cookie信息,服务器会将请求中的cookie值和服务器中的session值进行比对,这样就可以识别客户端了。如果设置过期时间,则关闭浏览器后,cookie还是会保存,除非清除浏览器缓存。如果没有设置过期时间,则关闭浏览器后,cookie会话也会结束。

标注平台upload接口请求

所以cookie过多数据,会影响通信性能,前端应尽量存储简洁重要数据,比如标注平台:

标注平台的cooki

分布式服务时,不同服务分布在不同的服务器上,这样就需要每台服务都存储一份session,如果有100台服务器,则需要复制100份session集,还要更新同步,会对服务器性能造成影响,所以会将session统一存储集中存储。

上一篇 下一篇

猜你喜欢

热点阅读