Web 服务器和 HTTP 服务器是无状态的,因此当 Web 服务器将网页发送到浏览器时,连接会被断开,服务器会忘记与用户相关的所有内容。那么浏览器和 Web 服务器是怎样记住用户信息的?cookie 被发明出来解决这个问题。1 W Z+ z, G+ G7 b% T3 B- p
当用户访问网页时,他们的名字、唯一 ID 或其他任何信息都可以存储在浏览器的 cookie 中。当用户下次又回到网页时,cookie 将记住他们的名字或唯一 ID。Cookie 只是存储在计算机浏览器中的小型文本文件。它们包含以下数据: : w/ g1 h X: x2 V0 j" M! v
保存数据的 Name-value 对
日期到期时,该 cookie 失效
应将其发送到的服务器的域和路径 : u% N* q; l% }8 z* T: ]9 K; \: ?
而cookie也有一些值得一提的限制:& ?* q s' L: z
每个cookie的最大为 4096 字节
每个域最多20个cookie(每个浏览器略有不同)
Cookie是其自己的域名专用的(网站无法读取其他域的 Cookie,只能是它自己的)
大小限制适用于整个cookie,而不仅仅是它的值
在浏览器中,cookie通过 DOM 被公开为 document.cookies。$ ~% F3 M( B7 a- |: X. L
下面介绍如何用 JavaScript 在浏览器中设置、获取、更新和删除 Cookie 数据。 2 b% Z8 a, K, v& l6 u2 ?- N: DCreate Cookies 8 C: ?0 Q3 y5 k 用 JavaScript 在浏览器中设置 cookie 非常简单!+ `& j; g( s" g" H: b 1、设置 Cookie/ V" q+ i" e6 V1 {9 P' \4 e
以下是在浏览器中用 JavaScript 创建新 cookie 的执行代码: 6 v6 q$ ^# z5 v( o! L7 b
运行该代码后,打开浏览器,你应该能在开发者工具的 Application(Safari 或Chrome)或 Storage(Firefox)中找到该 cookie。 s. L. H K6 r 2、设置 cookie 的过期时间) ~. ?* C4 g$ F t1 z: `
你还可以向 Cookie 中添加过期时间(UTC),告知浏览器应该在什么时候将其删除:, Q7 Y8 @$ _% b