浅谈浏览器中的cookie

浅谈浏览器中的cookie

1. 概述

cookie是服务器保存在浏览器的一小部分文本信息,每个cookie都不能超过4kb。浏览器每次向服务器发出请求,就会自动附上这段信息。
cookie会保存以下几方面的信息。

Cookie的名字
Cookie的值
到期时间
所属域名(默认是当前域名)
生效的路径(默认是当前路径)

浏览器可以设置不接受cookie,也可以设置服务器发送cookie
window.navigator.cookieEnabeled属性返回一个布尔值,表示浏览器是否打开Cookie功能。
document.cookie属性当前网页的所有cookie,cookie返回的是分号分隔的所有cookie。
document.cookie属性也是可写的,可以通过它为网站添加cookie.
document.cookie = 'fontSize=14';
Cookie 的值必须写成key=value的形式。注意,等号两边不能有空格。
但是document.cookie一次只能写入一个cookie,而且写入的不是覆盖,而是添加。

2.Cookie的属性

服务器向浏览器发送cookie的时候,除了cookie本身的内容,还有一些可选内容,它们都必须以分号开头。

(1)value属性
value属性是必需的,它是一个键值对,用于指定Cookie的值
(2)expires属性
expires属性用于指定cookie过期的时间。如果不设置该属性,或者设为null,Cookie只在当前会话(session)有效,浏览器窗口一旦关闭,当前 Session 结束,该 Cookie 就会被删除。
(3)domain属性
domain属性指定cookie的域名信息。
(4)path属性用来指定路径。
(5)secure属性
secure属性用来指定Cookie只能在加密协议HTTPS下发送到服务器。
(6)max-age
max-age属性用来指定Cookie有效期,比如60 * 60 * 24 * 365(即一年31536e3秒)。
(7)HttpOnly
HttpOnly属性用于设置该Cookie不能被JavaScript读取。

3.Cookie的限制

长度限制:只能不超过4kb

4.同源政策

浏览器的同源政策规定,两个网址只要域名相同和端口相同,就可以共享 Cookie。

Http-Only Cookie

设置 Cookie 的时候,如果服务器加上了HttpOnly属性,则这个 Cookie 无法被 JavaScript 读取(即document.cookie不会返回这个Cookie的值),只用于向服务器发送,防止XSS攻击盗取Cookie.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容