cookie与storage

147 阅读1分钟

一、cookie

HTTP cookie, 通常直接叫做cookie,最初是在客户端用于存储会话信息的。该标准要求服务器对HTTP请求发送Set-Cookie HTTP头作为响应的一部分,其中包含会话信息。

eg:

HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value
Other-header: other-header-value

cookie 的名称和值必须URL编码

限制:

1. cookie的性质是绑定在特定域名下的
2. 大小限制(4kB)

构成:

1.名称
2.值
3.域(domain)
4.路径(path)
5.失效时间(GMT格式: toGMTString())
6.安全标志 (secure: 指定后只有使用SSL连接的时候才能发送到服务器)

设置

document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value)

二、storage(sessionStorage、localStorage)

storage类型提供最大的存储空间来存储,包含 clear()、 getItem(name)、 key(index)、 removeItem(name)、setItem(name, value)

注: storage类型只能存储字符串,非字符串的数据在存储前会被转换成字符串

sessionStorage: 存储特定于某个会话的数据,会在浏览器关闭后消失

localStorage: 持久保存客户端数据(访问限制: 页面必须来自同一个域名(子域名无效),使用同一个协议,同一个端口)

限制:

1.大小限制(2.5MB ~ 5MB)