网络与接口
Cookie
Cookie 是网站请你的浏览器替它保管的一张小纸条——而且每次你再访问同一个网站时,浏览器都会自动把它递回去。网站就是靠它记住你的。HTTP 本身很健忘:每一次请求到来时,都像你从没来过一样,于是网站塞给你一张小名牌,你的浏览器就悄悄替你别上,留着下次用。
它最经典的用途,就是让你保持登录状态。你登录时,服务器回给你一个 Cookie,里面装着类似会话 id 或令牌(token)的东西。从此你的浏览器会把这个 Cookie 附在每一次请求上,网站一看便知「啊,是你」——不用在每个页面都重新输一遍密码。
说到底,它只是网站设置、由浏览器存下的一小段文本,而且只属于那一个域名。Cookie 不是程序,读不了你的文件;它更像网站递给你的一张寄存牌,你每次回来时礼貌地再亮一下而已。
# server's reply sets the cookie: Set-Cookie: session_id=a1b2c3; HttpOnly; Secure # your browser sends it back on the next request: Cookie: session_id=a1b2c3
网站给你别一次名牌;此后每次造访,浏览器都替你亮出来。
HttpOnly 让 JavaScript 读不到这个 Cookie(防被偷);Secure 表示只在 https 下发送。凡是用来证明「你是谁」的 Cookie,都值得加上。
又称
另见