什么是Cookie?
发布时间:2023-09-04 14:01:47 所属栏目:教程 来源:
导读:Cookie 实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个 Cookie。客户端浏览器会把 Cookie 保存起来。当浏览器再请求该网站时,浏览器把请求的网
Cookie 实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个 Cookie。客户端浏览器会把 Cookie 保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该 Cookie 一同提交给服务器。服务器检查该 Cookie,以此来辨认用户状态。服务器还可以根据需要修改 Cookie 的内容。 然后进行登录,登录之后我们所有在编程之家网中的操作都会带上这个 Cookie 去请求后端服务,这样后端服务通过 Cookie 就能识别请求的用户。 此外, 我们在前端调试工具页面中选择 Console Tab 页面,输入一行 js 代码就能拿到对方网站发给我们的 cookie值: Cookie的特点 不可跨域名性: 这个是 Cookie 非常重要的一个特点,域名限制。表示 A 网站颁发的 Cookie 在用户访问 B 网站时并不会被提交到 B 网站上去,这些都是由 Cookie 规范确定。此外,W3C 标准还禁止了 JavaScript 读写任何不属于自己网站的 Cookie; 时间限制: Cookie 同样有着自己的生命周期,其 maxAge 值决定着 Cookie 的有效期,单位为秒。如果maxAge 属性为正,则表示该 Cookie 会在 maxAge 秒之后自动失效。浏览器会将 maxAge 为正数的 Cookie持久化,即写到对应的 Cookie 文件中。无论客户关闭了浏览器还是电脑,只要还在 maxAge 秒之前,登录网站时该 Cookie 仍然有效;如果 maxAge 为负数,则表示该 Cookie 仅在本浏览器窗口以及本窗口打开的子窗口内有效,关闭窗口后该 Cookie 即失效。maxAge 为负数的 Cookie,为临时性 Cookie,不会被持久化,不会被写到 Cookie 文件中。Cookie 信息保存在浏览器内存中,因此关闭浏览器该 Cookie 就消失了。Cookie 默认的 maxAge 值为–1;而如果 maxAge 为0,则表示删除该 Cookie。Cookie 机制没有提供删除 Cookie 的方法,因此通过设置该 Cookie 即时失效实现删除 Cookie 的效果。失效的 Cookie 会被浏览器从 Cookie 文件或者内存中删除; 空间限制:Cookie 只能存储4-10KB; 数量限制:一般而言,每个域下最多不能超过50个 Cookie 存储数据类型限制:Cookie只能存储字符串 从上面这些特点,我们也能发现使用 Cookie 的一些缺点。使用 Cookie 最大的问题就是安全性,因为 Cookie 是保存在客户端的,且每次发送 HTTP 请求都会将 Cookie 带过去。这些都导致 Cookie 很容易泄露出去,如果一旦 Cookie 泄露,且 Cookie 中设置的时间较长,那么很可能攻击者拿着这个 Cookie 就能冒充受害者的身份去做一些事情,最后留下的记录都是受害者的。然而接下来的 Session 在某种程度上避免了这一类的问题。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐