1、cookie

作用:用于浏览器和服务器端进行通信,保存在浏览器中

特点:保存在浏览器端,容易被截获,不安全

大小:4KB  每次发送请求都会携带,导致占用带宽

生命周期:

  会话cookie:浏览器从打开到关闭的过程

  人为设置cookie:人为设置的时间

 

cookie特点:

  • cookie的大小受限制,cookie大小被限制在4KB。
  • cookie也可以设置过期的时间,默认是会话结束的时候,当时间到期自动销毁。
  • 一个域名下存放的cookie的个数是有限制的,不同的浏览器存放的个数不一样,一般为20个。
  • 用户每请求一次服务器数据,cookie会随着这些请求发送到服务器。
  • cookie数据始终在同源的http请求中携带(即使不需要),这也是Cookie不能太大的重要原因

 

Cookie和Session区别:

  • cookie数据存放在客户的浏览器上,session数据放在服务器上。
  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。
  • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。
  • 单个cookie保存的数据不能超过4K,Session 可存储数据远高于 Cookie。
  • Cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,Session 一般失效时间较短,客户端关闭或者 Session 超时都会失效。
  • Cookie 只能保存 ASCII,Session 可以存任意数据类型

 

2、sessionStorage(会话存储)

生命周期:浏览器打开到关闭的过程

大小:5M

保存的位置:浏览器端

方法都有哪些:

  setItem('key',value)  设置item对象

  getItem('key') 得到item对象的值

  removeItem('key') 移除item对象

作用域:窗口级别的,不同窗口间的sessionStorage数据不能共享的

 

3、lovcalStorage(永久存储)

生命周期:永久,除非人为删除

大小:5M甚至更大

保存的位置:浏览器端

方法都有哪些:

  setItem('key',value)  设置item对象

  getItem('key') 得到item对象的值

  removeItem('key') 移除item对象

  clear//清除记录

 

localStorage特点:

  • 保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据。
  • 大小为5M左右。
  • 仅在客户端使用,不和服务端进行通信。
  • 存储的信息在同一域中是共享的。
  • localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡。

sessionStorage和localStorage区别:

  • localStorage是永久存储,除非手动删除。sessionStorage当会话结束(当前页面关闭的时候,自动销毁)
  • localStorage只要在相同的协议、相同的主机名、相同的端口下,就能读取/修改到同一份localStorage数据。