有关cookie的内容
包括:
Cookie概述(Cookie的存放,有效期和作用域)
Cookie操作(保存Cookie,读取Cookie,Cookie的生命周期)
Cookie工作原理(Cookie与会话跟踪,Cookie安全性)
Cookie概述:
Cookie是由服务器生成并存储在客户端文件系统(.txt格式)中的key/value对。当浏览器再次请求该站点上的页面时,就会自动把保存的Cookie发回服务器。
Cookie使得浏览器可以在访问同一个站点的不同请求间传递数据,让服务器程序识别不同的客户端。
(cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。)
典型应用:保存用户登录状态、跟踪用户行为、页面定制、保存购物车等需要保存全局变量的场合。
PS:出于隐私保护的考虑,浏览器可以选择禁用Cookie,或者手动删除。
Cookie的存放:
Cookie保存在客户端某个特定的目录下的一个.txt文本文件中,且不同站点的Cookie数据保存不同的文件中。
Cookie数据一般都是加密后保存的。
有效期和作用域:
有效期:Cookie可以指定一个expires值,定义其生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生命周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。
作用域:默认情况下,某个站点保存的Cookie只能自己访问,不能被其他站点使用。但可以设置Cookie的domain和path值,限定在哪个域名下的哪个路径可以访问此Cookie。
PS:“广告联盟”是个亟待规范的问题。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Cookie操作
保存Cookie:
Cookie可以由服务器程序(如Java、PHP等)创建并发送给客户端保存;也可以由客户端JavaScript脚本创建并保存。
//保存一个简单的Cookie
document.cookie='uname=tom';
//保存一个内容复杂的Cookie
document.cookie='msg='+encodeURIComponent('Hi,JS 你好');
//保存一个具有指定超时时间的Cookie
document.cookie='uid=7788;expires='+new Date().toGMTString();
上述三行语句可以创建并保存三个Cookie,而不是只有一个!
PS:Cookie键值中不能包含分号,逗号,等号,空格,同时为了防止中文乱码问题,键值应该使用encodeURIComponent()函数进行编码。
读取Cookie:
可以使用document.cookie获取当前站点可以读取的所有Cookie(多个Cookie间用;分隔)
var cookies = document.cookie;
console.log(cookies) //多个Cookie用;分割
var arr = cookies.split(';');
for(var i = 0;i<arr.length;i++){
var cookie = arr[i]; //键值对用=分割
var cookiePair = cookie.split('=');
console.log(cookiePair[0]+'='+cookiePair[1];
}
PS:注意cookie键名中可能会被浏览器添加了空白字符,需要trim()操作。
Cookie的生命周期:
若没有指定expires属性,创建的Cookie其实只是保存在内存中,浏览器已关闭也就被销毁了。
可以在保存Cookie时使用expires指定其生存周期。
document.cookie='uid=7788';
var time = new Date().getTime() + 1000*3600*24*30;
var exp = new Date(time);
document.cookie='uname=tom;expires='+exp.toGMTString();
PS:同理,可以把expires设置为一个过去的时间,就可以实现删除Cookie的效果。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Cookie工作原理
Cookie工作原理:
Cookie是识别用户,实现状态保持的最佳方式之一。具体分为如下两种类型:
会话Cookie:保存在客户端内存中,关闭即删除。
持久Cookie:保存在客户端文件系统中,可长久使用。
客户端发送请求给服务器端,服务器端响应给客户端。
Cookie与会话跟踪:
当客户端在当前web站点的多个页面间进行访问时,可以使用Cookie对该会话过程进行跟踪记录——购物车。
Cookie安全性:
浏览器不会把A站点的Cookie回传给B站点,且Cookie中的敏感数据一般都是加密保存的,所以Cookie技术本身并没有太大的安全问题。
但是,若客户端被木马病毒控制,Cookie可能被黑客盗取并骗取服务器的信任。
广告联盟的存在,导致Cookie被滥用,侵犯了用户的个人隐私。
有关cookie的内容的更多相关文章
- 【转】彻底搞清C#中cookie的内容
http://blog.163.com/sea_haitao/blog/static/77562162012027111212610/ 花了2天时间,彻底搞清C#中cookie的内容,搞清以下内容将让 ...
- cookie相关内容
----客户端删除cookie <script type="text/javascript"> function DelC ...
- Header和Cookie相关内容
相信很多同学都对HTTP的header和cookie,和session都有疑问,因为我们开发的时候一般都需要请求网络获取数据,有时候还需要带cookie或者带特殊的字段发起请求. 现在我们就来简单的了 ...
- 理解Session与Cookie
写在前面的话:Session和Cookie是非常有意思的两个概念,对于两者的管理可以处理的很复杂,但是无论如何,理解Session和Cookie的基本概念和发明初衷,对于问题的解决,大有裨益. === ...
- 前端学HTTP之客户端识别和cookie
前面的话 Web服务器可能会同时与数千个不同的客户端进行对话.这些服务器通常要记录下它们在与谁交谈,而不会认为所有的请求都来自匿名的客户端.本文主要介绍客户端识别及cookie机制 HTTP首部 HT ...
- session & cookie(li)
Session & Cookie 一.定义 Session,用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.Cookie,由服务器端生成,发送 ...
- HTTP Session、Cookie机制详解
一.什么是http session,有什么用 HTTP协议本身是无状态的,本身并不能支持服务端保存客户端的状态信息,于是,Web Server中引入了session的概念,用来保存客户端的状态信息. ...
- ASP.NET Cookie(一)--基本应用
Cookie提供了一种在Web应用程序中存储用户特定信息的方法.例如,当用户访问您的站点时,您可以使用Cookie存储用户首选项或其他信息.当该用户再次访问您的网站时,应用程序便可以检索以前存储的信息 ...
- Cookie, LocalStorage 与 SessionStorage
Cookie, LocalStorage 与 SessionStorage相同点 都是储存在用户本地的数据. 意义在于避免数据在浏览器和服务器间不必要地来回传递. 三者的特点 同属于html5 ...
随机推荐
- spider_main.py
coding=UTF-8 import html_download import html_outputer import html_parser import url_maneger class S ...
- ansible-1
ansible与salt对比: 相同: 都是为了同时在多台机器上执行相同的命令 都是python开发 不同: agent(saltstack需要安装.ansible不需要) 配置(salt配置麻烦,a ...
- UOJ #2321. 「清华集训 2017」无限之环
首先裂点表示四个方向 一条边上都有插头或者都不有插头,相当于满足流量平衡 最大流 = 插头个数*2时有解 然后求最小费用最大流 黑白染色分别连原点汇点
- X-Frame-Options是什么?
错误: Refused to display 'http://xx.com/spot/kline.do' in a frame because it set 'X-Frame-Options' to ...
- Android如何实现毛玻璃效果之Android高级模糊技术
自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果,磨砂效果,各大系统就开始竞相模仿,这是怎样的一个效果呢,我们先来看一下,如下面的图片: 效果我们知道了,如何在Android中实现呢, ...
- 浅析src与href的区别
src与href的区别 SRC src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请 ...
- 。net可以点出属性,编译没问题,运行时就报错了。一笔记。
项目框架是这样的. 在 domain(你可以把它理解为你的bll) ,web 2个项目工程里面都引用了一个通过nuget管理程序包,比如 xxcommon.dll web 引用了 domain ,然后 ...
- activiti并发多实例子流程任务处理
一直在搞工作流(activiti),总结一下关于工作流(activiti)中同时并发处理多个子流程的操作方法. 先说下我要实现的业务: 1.办公室发通知(在系统申报页面上,勾选科室,被选中的科室执行第 ...
- 孤荷凌寒自学python第二十一天初识python的类
孤荷凌寒自学python第二十一天初识python的类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 类是面向对象的编程语言非常重要的概念. 编程语言的进化史中从顺序编程到结构化编程,最后才 ...
- PHP 比较运算符 var_dump("a" == 0) 为 true
这篇文章主要讲解一下 PHP 使用比较运算符容易出错的地方 $a == $b 等于 TRUE,如果类型转换后 $a 等于 $b.$a === $b 全等 TRUE,如果 $a 全等于 $b,并且它们的 ...