浏览器里的cookie是什么 浏览器cookie是什么意思

浏览器cookie是什么意思1

浏览器里的cookie是什么 浏览器cookie是什么意思

文章插图
演示机型:华为MateBook X系统版本:win10以华为MateBook X , win10为例:浏览器中Cookies是指服务器暂存放在你的电脑里的txt格式的文本文件资料 , 主要用于网络服务器辨别电脑使用 。比如浏览网站时 , Cookies记录下来你输入的一些资料和信息 。再访问同一个网站 , 就会依据Cookie里的内容来判断使用者 , 送出特定的信息内容给你 。
平时上网时都是使用无状态的HTTP协议传输出数据 , 这意味着客户端与服务端在数据传送完成后就会中断连接 。这时我们就需要一个一直保持会话连接的机制 。
在session出现前 , cookie就完全充当了这种角色 。也就是 , cookie的小量信息能帮助我们跟踪会话 。一般该信息记录用户身份 。当然cookie也常记录跟踪购物车的商品信息(如数量)、记录用户访问次数等 。
深入理解浏览器Cookie2Cookie产生的背景随着web应用越来越复杂 , 希望能够在用户本身机器上存储用户信息 , 无论是登录信息 , 偏好设定或其他数据 , 这个问题第一个方案就是以cookie形式出现的 , 最早提出cookie的网景公司 。一份题为“Persistent Client State: HTTP Cookes”(持久客户端状态:HTTP Cookies)的标准中对 cookie 机制进行了阐述(该标准还可以在这里看到:http://curl.haxx.se/rfc/cookie_spec.html) 。今天 , cookie只是在客户端存储数据的其中一种选项 。
HTTP Cookie , 通常直接叫做 cookie , 最初是在客户端用于存储会话信息的 。该标准要求服务器对 任意 HTTP 请求发送 Set-Cookie HTTP 头作为响应的一部分 , 其中包含会话信息 。例如 , 这种服务器响 应的头可能如下:
HTTP/1.1 200 OK Content-type: text/html Set-Cookie: name=value Other-header: other-header-value这个 HTTP 响应设置以 name 为名称、以 value 为值的一个 cookie , 名称和值在传送时都必须是URL 编码的 。浏览器会存储这样的会话信息 , 并在这之后 , 通过为每个请求添加 Cookie HTTP 头将信息发送回服务器 , 如下所示:
GET /index.html HTTP/1.1 Cookie: name=value Other-header: other-header-valueCookie的机制【浏览器里的cookie是什么 浏览器cookie是什么意思】如图所示,用户首次访问服务器 , 服务器会返回一个独一无二的识别码;id=23451 , 这样服务器可以用这个码跟踪记录用户的信息 , (购物历史 , 地址信息等) 。
cookie可以包含任意的信息 , 不仅仅是id , 客户端会记录服务器返回来的Set-Cookie首部中的cookie内容 。并将cookie存储在浏览器的cookie数据库中 , 当用户访问同一站点时 , 浏览器就会挑选当时该站点颁发的id=XXX的身份证(cookie) , 并在Cookie请求首部发送过去 。
Cookie的类型cookie可以根据存储时间分为会话coolie和持久cookie , 会话cookie会在关闭浏览器后自动删除 , 持久性cookie会存储在硬盘上 , 保存时间更久 , 关闭浏览器和电脑还可以保存 。比如:
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";Cookie的构成域
cookie 对于哪个域是有效的 。所有向该域发送的请求中都会包含这个 cookie 信息 。这个值可以包含子域(subdomain , 如www.wrox.com) , 也可以不包含它(如.wrox.com , 则对于wrox.com的所有子域都有效) 。如果没有明确设定 , 那么这个域会被认作来自设置 cookie 的那个域 。

储存在 cookie 中的字符串值 。值必须被 URL 编码 。
路径
对于指定域中的那个路径 , 应该向服务器发送 cookie 。例如 , 你可以指定 cookie 只有从http://www.wrox.com/books/ 中才能访问 , 那么 http://www.wrox.com 的页面就不会发送 cookie 信息 , 即使请求都是来自同一个域的 。
过期时间
表示 cookie 何时应该被删除的时间戳(也就是 , 何时应该停止向服务器发送这个cookie) 。默认情况下 , 浏览器会话结束时即将所有 cookie 删除;不过也可以自己设置删除时间 。这个值是个 GMT 格式的日期(Wdy, DD-Mon-YYYY HH:MM:SS GMT) , 用于指定应该删除cookie 的准确时间 。因此 , cookie 可在浏览器关闭后依然保存在用户的机器上 。如果你设置的失效日期是个以前的时间 , 则 cookie 会被立刻删除 。