(自用面试题)客户端存储方式有哪些?它们的使用场景是什么?

35 阅读3分钟

cookie

  • cookie的定义
    cookie是最早被提出来的本地存储方式,在此之前,服务器是无法判断网络中的两个请求是否由同一用户发起的,为解决这个问题,cookie就出现了。

  • cookie的特点

    • cookie一旦创建成功,名称就无法修改。
    • 每个域名下cookie的数量不能超过20个,每个cookie的大小不能超过4kb。
    • cookie在请求一个新的页面的时候都会被发送过去。
    • cookie是无法跨域名的,也就是说a域名和b域名下的cookie是无法共享的,这是由cookie的隐私安全性决定的,这样就能够阻止非法获取其他网站的cookie。
  • cookie的使用场景
    最常见的使用场景就是cookie和session结合使用,我们将sessionId存储到cookie中,每次发请求都会携带这个sessionId,这样服务器就知道是谁发起的请求,从而响应相应的信息。

localStorage

  • localStorage的定义
    localStorage是在HTML5新提出来的存储方案,由于有的时候我们存储的信息较大,cookie就不能满足我们的需求,这时候localStorage就派上用场了,它不会随着刷新页面或者关闭页面而消失。

  • localStorage的特点

    • localStorage是持久储存,不会随着刷新页面或者关闭页面而消失,除非主动清理,不然会永久存在。
    • 每个localStorage的大小一般为5MB,可以储存更多的信息。
    • 仅储存在本地,不像cookie那样每次HTTP请求都会被携带。
    • 存在浏览器兼容问题,IE8以下版本的浏览器不支持。
    • 如果浏览器设置为隐私模式,那我们将无法读取到localStorage。
    • localStorage只能被同源页面所访问共享。
  • localStorage的使用场景

    • 有些网站有换肤的功能,这时候就可以将换肤的信息存储在本地的localStorage中,当需要换肤的时候,直接操作localStorage即可。
    • 网站中的用户浏览信息和一些不常变动的个人信息等可以存储在本地的localStorage中。

sessionStorage

  • sessionStorage的定义
    sessionStorage也是在HTML5新提出来的存储方案,主要用于临时保存某一窗口或者标签页的数据,刷新页面时不会删除,关闭窗口或者标签页之后将会删除这些数据。

  • sessionStorage的特点

    • sessionStorage是会话存储,主要用于临时保存某一窗口或者标签页的数据,刷新页面时不会删除,关闭窗口或者标签页之后将会删除这些数据。
    • 每个sessionStorage的大小一般为5MB,可以储存更多的信息。
    • sessionStorage只能被同源页面所访问共享。
  • sessionStorage的使用场景
    由于sessionStorage具有时效性,所以可以用来存储一些网站的游客登录信息和临时的浏览记录信息。当关闭网站之后,这些信息也就随之消除了。