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存储信息
网友评论