熟悉Cookies与LocalStorage

Cookies与LocalStorage

1. Cookies

  • Cookies是Server发给Browser的一个字符串;设置Cookies要在服务器端的响应头写set-cookies: xxx = xxx(name = value); (LocalStorage没有这个特点)
  • 浏览器Browser会保存Cookies在本地;浏览器一般不能主动删除Cookie
  • 下次请求同样的域名时,浏览器发送的请求必须带上Cookies (LocalStorage无此特点)
  • Cookies只用于验证身份,不能用于存储数据,应该只有一个ID用于验证;各浏览器cookie每一个name:value的值大小在4KB左右
  • JS一般不去碰Cookie,应该由服务器自己设置自己读取
  • Cookie可以在浏览器使用JS来设置;然后读取(然而实际并不能作为用户存储)

2. LocalStorage

//网站存储用户的搜索记录
var localHistory = ['你好', 'Hi', 'jirengu']
window.localStorage.setItem('xxx', localHistory)
  • JS所有的内存在刷新页面之后全部消失
  • 使用window.localStorage来将数据存储到localStorage中,数据刷新不会消失(与缓存放在一起)
  • 可以使用Chrome开发者工具application - storage来查看
  • localStorage是分域名的,每一个域名存储的大小大概是5MB(不确定)
  • 由于读取命令只能读取字符串,所以存储时要先转换为json格式
var jsonString = json.stringify(searchHistory)
//jsonString是符合json语法的字符串
window.localStorage.setItem('xxx', jsonString)
//在需要的时候读,使用getItem读取字符串
var jsonString = window.localStorage.getItem('xxx')
JSON.parse(jsonString)
  • 浏览器可以存储字符串到localStorage,存储其它必须使用JSON方法先转换为JSON对象然后解析
  • localStorage是浏览器给JS的一个接口,可以让JS把一些变量存到本地文件或读(与服务器无关)
  • 在需要记录用户偏好时使用localStorage存储信息

你可能感兴趣的:(熟悉Cookies与LocalStorage)