localStorage不会自动发送到服务器,因其设计为纯客户端存储,不参与HTTP通信,而cookie则通过请求头自动传输。

不会。 localStorage 中的数据完全保留在浏览器本地,不会随任何 HTTP 请求自动发送到服务器。
这是它和 Cookie 最根本的区别之一。
为什么 localStorage 不发给服务器?
因为它设计定位就是“纯客户端存储”——只供当前页面 JavaScript 读写,不参与网络通信。浏览器在发起请求时,不会把 localStorage 的内容加进请求头,服务器也完全感知不到它的存在。
而 Cookie 不同:
- 服务器通过
Set-Cookie响应头写入数据; - 浏览器会在后续所有同域请求中,自动把匹配的 Cookie 加入
Cookie请求头; - 这是 Cookie 实现身份验证、会话保持的基础机制。
实际影响举例:
- 你用
localStorage.setItem('token', 'abc123')存了登录凭证 → 后续 AJAX 请求不会自动带上它,必须手动取出来放进请求头(比如Authorization: Bearer abc123); - 你用
document.cookie = "session_id=xyz789"设置 Cookie → 所有同域请求都会自动携带Cookie: session_id=xyz789,后端可直接解析。
注意一个常见误区:
有人以为“只要存了,服务器就能拿到”,其实只有 Cookie 具备这种自动同步能力;localStorage 和 sessionStorage 都需要开发者显式调用 fetch 或 XMLHttpRequest 把数据发出去。
所以选型时记住:
- 要让服务器“自动知道”某些状态 → 用 Cookie;
- 只想在前端记点东西,不希望它暴露在网络传输里 → 用 localStorage。


















