http协议——cookie详解
http是无状态的,所以引入了cookie来管理服务器与客户端之间的状态
与cookie相关的http首部字段有:
1.Set-Cookie:它一个响应首部字段,从服务器发送到客户端,当服务器想开始通过cookie进行状态管理,它就会向客户端发送Set-Cookie字段。
2.Cookie:它是一个请求首部字段,从客户端发送到服务器
cookie是保存在客户端的,cookie是绑定在特定域名下的(即:有效域名),当向cookie的有效域名发送请求时,都会带上这个cookie。
Set-Cookie字段的属性
1.NAME=VALUE:指定cookie的名称和值,名称大小写不敏感,值必须经过URL编码。
2.domain=域名:cookie的有效域名,所有向该域发送的请求中都会包括这个cookie信息,这个值可以包含子域(如:www.baidu.com,那么这个cookie的有效域就是www.baidu.com),也可以不包含子域(如:baidu.com,那么这个cookie对所有的baidu.com的子域都有效),如果没有指定这个值,它的默认值为设置cookie的那个域。正是因为这一限制,cookie是不能跨域的(www.qq.com不能访问到www.baidu.com下的cookie)
3.path=路径:用于指定域中的哪个路径,应该向服务器发送cookie。例如,你可以指定cookie只有从www.baidu.com/one/中才能访问,那么www.baidu.com的页面就不能发送cookie
4.expires=Date:cookie的有效时间(即:何时应该停止向服务端发送这个cookie),默认情况下浏览器会话结束就会删除所有的cookie,不过可以自己设置cookie的有效时间。如果将cookie的有效时间设置为一个过去的时间,那么这个cookie会立即被删除
5.Secure:仅在HTTPS安全通信时才会发送cookie
6.HttpOnly:该cookie不能被脚本访问
例子 Set-Cookie:myCookie=123;domain=www.baidu.com;path=/one/;expires=Mon,22-Jan-07 07:10:24 GMT;Secure;HttpOnly
补充:一旦Cookie从服务器发送到客户端,服务器就不能显示的删除Cookie,但是可以覆盖已经过期的Cookie,通过这种方式实现对客户端cookie的删除
Cookie字段
cookie字段中只包含名-值队,如果有多个名-值队就以逗号分隔
Javascript中的Cookie
在js中可以通过document.cookie访问cookie,这个属性会返回当前页面可用的(cookie的域,路径,失效时间,安全设置)所有cookie的字符串,用逗号分割的名-值队。所有的名字和值都是通过URL编码的,所有必须通过decodeURIComponent()解码。
document.cookie除了可以获取现有的cookie,还能设置新的cookie,设置的新的cookie会被添加到现有的cookie集合中,document.cookie不会覆盖cookie除非设置的cookie名称已经存在
http协议——cookie详解的更多相关文章
- 网络基础 cookie详解
cookie详解 by:授客 QQ:1033553122 cookie干嘛用的? 参见文章http 会话(session)详解: 网络基础 http 会话(session)详解 cookie分类 ...
- cookie详解(含vue-cookie)
今天看到一篇cookie的文章,写的特别详细,感谢 晚晴幽草轩 的分享,原文链接http://mp.weixin.qq.com/s/NXrH7R8y2Dqxs9Ekm0u33w 原文如下,记录到此供以 ...
- Session和Cookie详解(1)
面试常问的有关session和cookie的问题: 1.session在分布式环境下怎么解决 2.集群下如何保证session踩中 3.cookie的大小 4.服务器怎么识别一个用户的 5.sessi ...
- JavaWeb Cookie详解
代码地址如下:http://www.demodashi.com/demo/12713.html Cookie的由来 首先我们需要介绍一下,在Web开发过程中为什么会引入Cookie.我们知道Http协 ...
- Cookie 详解以及实现一个 cookie 操作库
Cookie 详解以及实现一个 cookie 操作库 cookie 在前端有着大量的应用,但有时我们对它还是一知半解.下面来看看它的一些具体的用法 Set-Cookie 服务器通过设置响应头来设置客户 ...
- [转]Cookie详解
从事 Web 开发已有近17个月:在学以致用的工作学习里,对于不怎么使用的部分,多少有些雾里探花的窘迫感-差不多是了解一二,然而又非真切的明晰:这就使得再用的时候,总要去再搜索一番:如此颇为难受,倒不 ...
- Cookie的使用、Cookie详解、HTTP cookies 详解、获取cookie的方法、客户端获取Cookie、深入解析cookie
Cookie是指某些网站为了辨别用户身份.进行session跟踪而存储在用户本地终端上的数据(通常经过加密),比如说有些网站需要登录才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的.那么我 ...
- Java web Cookie详解(持久化+原理详解+共享问题+设置中文+发送多个Cookie)
Java web Cookie详解 啥是cookie? 查询有道词典得: web和饼干有啥关系? 这个谜底等等来为大家揭晓 会话技术 web中的会话技术类似于生活中两个人聊天,不过web中的会话指的是 ...
- session及cookie详解(七)
前言 文章说明 在每整理一个技术点的时候,都要清楚,为什么去记录它.是为了工作上项目的需要?还是为了搭建技术基石,为学习更高深的技术做铺垫? 让每一篇文章都不是泛泛而谈,复制粘贴,都有它对自己技术提升 ...
随机推荐
- 转载-Linux Shell 数组建立及使用技巧
转载自:http://www.cnblogs.com/chengmo/archive/2010/09/30/1839632.html 如侵犯版权,请联系我删除 linux shell在编程方面比win ...
- lambda高级进阶--延迟执行
前面的整理我们也已经说到了,使用lambda表达式的主要原因是,将代码的执行延迟到一个合适的时间点.在使用lambda表达式的时候务必记住一点就是说lambda表达式都是延迟执行的. 延迟执行代码的原 ...
- Android4.0新控件
谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常用的新控件有下面5种. 1. Switch的使用 Switch顾名思义,就是开关的意思,有开和关两种状态. 当Swit ...
- 豹哥嵌入式讲堂:ARM知识概要杂辑(1)- 内核架构编年史
众所周知,ARM公司是一家微处理器行业的知名企业,ARM公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架构授权给有兴趣的厂家.这些厂家基本涵盖了全球领先的知名半导体企业.软件和OEM厂商:T ...
- mysql数据库在windows下安装与配置
mysql是一种开源源代码的关系型数据库系统(RDBMS),使用最常用的数据库管理语言--结构化查询语句(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General Pu ...
- cache.config文件配置模板
# # cache.config # # The purpose of this file is to alter caching parameters of # specific objects o ...
- 刚买个炼狱蝰蛇1800dpi的下完驱动提示没有发现鼠标
2017-02-19补充:可以下载下面的程序 ,也可以访问 http://cn.razerzone.com/synapse/ 下载雷云 也可解决问题 ------------------------ ...
- C之多线程(例子很不错)
1.线程 线程池是一个树状结构. 多线程解决并发问题. 一个线程内部的执行顺序是线性的.而线程之间是乱序的. 若要创建一个多线程程序,它的参数必须是空指针类型. 变色龙程序: #define _CRT ...
- jQuery应用操作之---表格
示例: <table> <thread> <tr><th>姓名</th><th>性别</th><th>暂 ...
- MongoDB Driver 简单的CURD
c#中我们可以使用MongoDB.Driver驱动进行对MongoDB数据库的增删改查. 首先需要在NuGet中安装驱动 安装完毕后会发现会有三个引用 其中 MongoDB.Driver和MongoD ...