什么是浏览器 cookie?------------------------------------浏览器cookie详解

原标题:什么是浏览器cookie?

什么是浏览器 cookie?------------------------------------浏览器cookie详解
文章图片
浅谈浏览器中的cookie1.概述
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有效期 , 比如606024*365(即一年31536e3秒) 。
(7)HttpOnly
HttpOnly属性用于设置该Cookie不能被JavaScript读取 。
3.Cookie的限制
长度限制:只能不超过4kb
4.同源政策
浏览器的同源政策规定 , 两个网址只要域名相同和端口相同 , 就可以共享Cookie 。
Http-OnlyCookie
设置Cookie的时候 , 如果服务器加上了HttpOnly属性 , 则这个Cookie无法被JavaScript读取(即document.cookie不会返回这个Cookie的值) , 只用于向服务器发送 , 防止XSS攻击盗取Cookie.
5.Cookie的作用
识别用户身份记录用户的操作历史------------------------------------浏览器cookie详解为什么会有cookie
Web应用程序是使用HTTP协议传输数据的 。 HTTP协议是无状态的协议 。 一旦数据交换完毕 , 客户端与服务器端的连接就会关闭 , 再次交换数据需要建立新的连接 。 这就意味着服务器无法从连接上跟踪会话 。
你可能会有这样的经历 , 登陆一个网站的时候会提醒你要不要记住账户和密码 , 这样下次来你就不用再次输入账号密码了 。 这就是cookie的作用 , 当我们再次访问的时候 , 方便服务器直接根据我们的cookie来直接取上一次取过的东西(对于每一个cookie服务器会对这个cookie存储上一次我们拿过的数据 , 下一次对于同一个cookie的时候 , 就直接在这里取)
什么是Cookie
Cookie是由服务器端生成 , 发送给User-Agent(一般是浏览器) , (服务器告诉浏览器设置一下cookie) , 浏览器自动会将Cookie以key/value保存到某个目录下的文本文件内 , 下次请求同一网站时也会自动发送该Cookie给服务器 , 即添加在请求头部(前提是浏览器设置为启用cookie) 。
Cookie就是一个小型文件(浏览器对cookie的内存大小是有限制的-------用来记录一些信息)
Cookie的特点
Cookie具有保质期
即有永久的也含有临时的 , 每个浏览器都含有自己的cookie , 每次请求的时候 , 都会根据domain来发送相应的cookie,可通过设置expires、max-age来设定保存日期 , 不设置的话默认是临时存储 , 即关闭浏览器就消失 。
document.cookie='expires=时间/max-age=秒'
满足同源策略
虽然网站images.google.com与网站www.google.com同属于Google , 但是域名不一样 , 二者同样不能互相操作彼此的Cookie 。 而且path也必须一样才能相互访问彼此的cookie , 需要注意不同浏览器对path访问规定不一样 , 对于chrome , path必须为当前目录 , 设置为其他目录无效 , 只能当前页面只能访问当前目录及其以上的cookie
Cookie内存大小受限制
Cookie有个数和大小的限制 , 大小一般是4k

什么是浏览器 cookie?------------------------------------浏览器cookie详解
文章图片
Cookie的安全性
Cookie在本地可以被更改文件敏感的数据不要放在cookie里