cookie分号后面没有值_浏览器Cookie介绍
Web应用程序是使用HTTP协议传输完成的。HTTP协议是无状态的协议。当数据交换完毕以后,客户端与服务器端的连接就会关闭。当再次交换数据的时候需要重新建立新的连接。这就意味着服务器无法从连接上跟踪会话。
大家应该都有这样的经历,当你登录一个网站的时候会提醒你要不要记住账户和密码,这样下次来你就不用再次输入账号和密码了。这就是Cookie的作用,当我们再次访问的时候,方便服务器直接根据我们的Cookie直接来取上一次我们取过的东西(对于每一个Cookie服务器会对这个Cookie存储上一次我们拿过的数据,下一次对于同一个Cookie的时候,就直接取了)
什么是Cookie?
Cookie是由服务器端生成的,发送给User-Agent(一般是浏览器),这个时候服务器会告诉浏览器要设置一下Cookie,浏览器自动将Cookie以Key/Value(键值对)的方式保存在某个目录下的文本文件内,下次请求同一个网站时也会自动发送该Cookie给服务器,即添加在请求头部(但是前提时浏览器设置为启用Cookie)
Cookie就是一个小型文件(浏览器对Cookie的内存大小是有限制的,Cookie的大小一般是4K---用来记录一些信息)
Cookie具有保质期
Cookie即有永久的也含有临时的,每一个浏览器都含有自己的Cookie,每次请求的时候,都会根据domain来发送响应的Cookie,也可以通过设置expires 、max-age来设定保存日期,不设置的话默认是临时存储,即关闭浏览器就消失。
document.cookie = 'expires=时间/max-age=秒'
Cookie的安全性
Cookie在本地可以被更改文件 敏感的数据不要放在Cookie里。
如何设置 cookie?
知道了cookie的格式,cookie的属性选项,接下来我们就可以设置cookie了。首先得明确一点:cookie既可以由服务端来设置,也可以由客户端来设置。
服务端设置 cookie
不管你是请求一个资源文件(如 html/js/css/图片),还是发送一个ajax请求,服务端都会返回response。而response header中有一项叫set-cookie,是服务端专门用来设置cookie的。如下图所示,服务端返回的response header中有5个set-cookie字段,每个字段对应一个cookie(注意不能将多个cookie放在一个set-cookie字段中),set-cookie字段的值就是普通的字符串,每个cookie还设置了相关属性选项。
注意:
一个set-Cookie字段只能设置一个cookie,当你要想设置多个 cookie,需要添加同样多的set-Cookie字段。
服务端可以设置cookie 的所有选项:expires、domain、path、secure、HttpOnly
客户端设置 cookie
在网页即客户端中我们也可以通过js代码来设置cookie。如我当前打开的网址为http://dxw.st.sankuai.com/mp/,在控制台中我们执行了下面代码:
document.cookie = "name=Jonh; ";
再执行下面代码:
document.cookie="age=12; expires=Thu, 26 Feb 2116 11:50:25 GMT; domain=sankuai.com; path=/";
查看浏览器cookie 面板,如下图所示,新的cookie设置成功了,而且属性选项 domain、path、expires都变成了设定的值。
注意:
客户端可以设置cookie 的下列选项:expires、domain、path、secure(有条件:只有在https协议的网页中,客户端设置secure类型的 cookie 才能成功),但无法设置HttpOnly选项。
用 js 如何设置多个 cookie
当要设置多个cookie时, js 代码很自然地我们会这么写:
document.cookie = "name=Jonh; age=12; class=111";
但你会发现这样写只是添加了第一个cookie“name=John”,后面的所有cookie都没有添加成功。所以最简单的设置多个cookie的方法就在重复执行document.cookie = "key=name",如下:
document.cookie = "name=Jonh";
document.cookie = "age=12";
document.cookie = "class=111“,
如何修改、删除
修改 cookie
要想修改一个cookie,只需要重新赋值就行,旧的值会被新的值覆盖。但要注意一点,在设置新cookie时,path/domain这几个选项一定要旧cookie 保持一样。否则不会修改旧值,而是添加了一个新的 cookie。
删除 cookie
删除一个cookie 也挺简单,也是重新赋值,只要将这个新cookie的expires 选项设置为一个过去的时间点就行了。但同样要注意,path/domain/这几个选项一定要旧cookie 保持一样。
cookie分号后面没有值_浏览器Cookie介绍相关推荐
- cookie分号后面没有值_Cookie的属性(cookie的设置、获取和删除)
每个cookie都有四个可选的属性,他们分别控制cookie的生存周期.可见性.安全性等. Cookies最初设计时,是为了CGI编程.但是,我们也可以使用Javascript脚本来操纵cookies ...
- python利用cookie登录百度的代码_使用 cookie 登录百度
cookies2.txt 为存放 cookie 字符串的文件. cookie 字符串获取方式 1. 可以通过手动的方式去取,比如登录之后在 console 里面执行 document.cookie 即 ...
- C# 系统应用之Cookie\Session基础知识及php读取Cookie\Session
本文主要是毕业设计"个人电脑使用记录清除软件"系列系统应用文章中关于Cookie方面的知识,主要从介绍Cookie的基础知识和PHP关于Cookie\Session两个会话管理机制 ...
- asp.net javascrip获取session的值_一篇文章搞定 Django Cookie 与 Session
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- ajax获取session值_【JavaWeb】91:Cookie与Session
今天是刘小爱自学Java的第91天. 感谢你的观看,谢谢你. 话不多说,开始今天的学习: 学cookie之前,我先说一个问题: 如果我设置浏览器不保存cookie. 会发现很多网站都没法登录了. 购物 ...
- 如何在用例之间传递值_接口测试:A12_HttpRunner_cookie整理_01_提取指定cookie值
A12_HttpRunner_cookie整理_01_提取指定cookie值 在 HTTP 响应中,通过响应头设置 cookies 记录用户信息以及身份凭证.用 HttpRunner 编写测试用例的时 ...
- 简单封装浏览器 cookie 工具类
版权声明:本文首发 http://asing1elife.com ,转载请注明出处. https://blog.csdn.net/asing1elife/article/details/8265571 ...
- Cookie中不能有空格_前端小贴士 -- 全面了解Cookie
一.Cookie的出现 浏览器和服务器之间的通信少不了HTTP协议,但是因为HTTP协议是无状态的,所以服务器并不知道上一次浏览器做了什么样的操作,这样严重阻碍了交互式Web应用程序的实现. 针对上述 ...
- java修改cookie的值_Java 对 Cookie增删改查的实现示例
Cookie属性 name:cookie的名称 value:cookie的值 maxAge:cookie的失效时间,默认为-1 值 说明 负数 浏览器关闭后立即失效 0 马上清除cookie 正数 设 ...
最新文章
- SharePoint 2013 开发——SharePoint Designer 2013工作流
- react更改路由入参_react怎么路由传参?
- C语言库自带的二分查找函数bsearch函数的使用示例
- python程序中想使用正则表达式_python中正则表达式的使用方法
- C语言 ,嵌入式 ,c++,数据结构 面试题目(4)
- 整型与布尔型的转换(信息学奥赛一本通-T1022)
- pwm驱动电机 为什么pwm不能太快_认识直流电机的PWM驱动控制电路
- LeetCode#70 Climbing Stairs
- 博客开篇第一篇--资深前端工程师
- c语言swustoj括号匹配问题,swust-oj 西南科技大学oj练习题解 150+道 - 下载 - 搜珍网...
- npm使用及cmd常用命令
- DIV布局末大作业:美食网站设计——餐饮美食-咖啡(5页) HTML5网页设计成品_学生DW静态食品网页设计_web课程设计网页制作
- CTGU实验6_2-创建借书存储过程
- 打开 mhtml 文件 显示不全_解决 Nginx autoindex 显示文件名不全的问题
- Cortex-M3单片机的IAP在线升级上位机和下位机
- Python:网络爬虫入门
- 【python实现网络爬虫(4)】实习僧网站信息爬取(字体反爬虫破解)
- t3网络计算机是空白,用友T3登录界面服务器那一行是空白的?
- GIS自主创新十年路(一):缘起ActiveMap
- Matlab 2019a