首页 > 试题广场 >

描述cookie和localStorage的区别,为什么co

[问答题]

描述cookie和localStorage的区别,为什么cookie的容量限制比localStorage小?

推荐

Cookie和localStorage的区别有:

1. Cookie可以由服务端和js读写(如果设置了HttpOnly的话js无法读),localStorage只能是js读写。(5分)

2. Cookie会附带在HTTP请求头里,而localStorage不会。(5分)

3. Cookie可设置过期时间,而localStorage不能。(5分)

4. 同域名的http和https共享cookie(设置了Secure的除外)但是不共享localStorage。(5分)

5. Cookie的接口没有localStorage方便,localStorage直接写key-value,而cookie需要自己构造符合要求的格式。(5分)


因为cookie会附带在HTTP请求头里,如果太大会影响传输性能,所以容量限制比较小。(5分)

发表于 2018-07-25 20:32:12 回复(0)
1
发表于 2020-05-10 13:59:00 回复(0)
共同点:都是保存在浏览器端,且同源的。 区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。 cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。 sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持; localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据; cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。作用域不同, sessionStorage不在不同的浏览器窗口***享,即使是同一个页面; localStorage 在所有同源窗口中都是共享的; cookie也是在所有同源窗口中都是共享的。 Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。
发表于 2018-09-06 07:39:44 回复(0)
浏览器对cookie数量和大小有限制
发表于 2018-08-23 16:05:00 回复(0)