认识cookie会话跟踪技术

news/2024/9/27 22:19:42

一、cookie的概念
在一次会话从开始到结束的整个过程,全程跟踪记录客户端的状态(例如:是否登录、购物车信息、是否已下载、是否已点击、视频播放进度等)
二、cookie的组成
cookie由名/值对形式的文本组成:name=value
完整的格式为:
name=value;[expires=date];[path=path];[domain=somewhere.com];[secure],中括号是可选的,name=value是必选。
三、设置cookie
document.cookie=符合cookie格式的字符串。
(document.cookie = ‘username=tian’;

四、读取cookie
alert(document.cookie); 直接读取
五、编码与解码
为了避免中文编码的问题。
设置cookie的时候有这么一个原则。
编码去存储
解码去读取
encodeURIComponent 中文 => 字符
decodeURIComponent 字符 => 中文
document.cookie = ‘username=’ + encodeURIComponent(“钢铁侠”);
alert(decodeURIComponent(document.cookie));
六、cookie中的可选属性
1、expires 过期时间
如果我们不去设置过期时间,默认的过期时间是,当前会话结束时(整个浏览器关闭的时候)。
expires=日期对象
小技能:
【注】浏览器自动去清除过期的cookie。
如果我们想要删除其中某一条cookie。我们直接将这一条cookie过期日期,设置成过去的某一时刻。

		document.cookie = 'username=钢铁侠;expires=' + numOfDate(7);
		/*
			快速获取过去的某一时刻
		*/
		var d = new Date(0);
		alert(d); //Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)
		window.onload = function(){
			var oBtn = document.getElementById("btn1");
			oBtn.onclick = function(){
				document.cookie = 'username=钢铁侠;expires=' + numOfDate(-1);
			}
		}
		//封装一个函数,获取n天后的日期
		function numOfDate(n){
			var d = new Date();
			var day = d.getDate();
			d.setDate(day + n);
			return d;
		}

2、path限制访问路径
path 限制访问路径
如果不设置,默认就是加载这个文件的路径。
【注】加载文件的路径,和设置cookie的路径必须一致,否则,禁止访问。

		//如果我们设置一个不存在的路径,可以设置成功的
		 document.cookie = 'username=钢铁侠;path=' + "/cookie/demo/";
		 alert(document.cookie);

3.domain限制
domain 限制访问域名
如果不设置,默认的值,加载当前文件的主机名 (IP/域名)

			【注】设置cookie域名的时候,必须设置cookie的域名和加载文件的域名一致,才能设置成功,否则设置失败。
		 document.cookie = 'username=钢铁侠;domain=' + '10.30.152.145';

4.secure安全设置
secure 安全设置,指明必须通过安全的通信通道来传输(HTTPS)才能获取cookie。
secure 设置安全链接

			如果不去设置,默认的值是false,代表的是可以让任何链接访问cookie  http https、

			设置了secure,必须使用https协议去访问这个页面。cookie才能设置成功。

			https  要比 http协议安全

			https 证书认证的安全协议  
			
		   document.cookie = 'username=钢铁侠;secure';

TCP协议的三次握手建立连接
在这里插入图片描述

TCP协议的四次挥手断开连接
在这里插入图片描述


http://www.niftyadmin.cn/n/2502365.html

相关文章

java线程安全理解

如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。比如一个 ArrayList 类,在添加一个元素的…

cookie的封装及应用

最原始代码 var person {name: "小明",age: 18,sex: 男}//直接把整个对象当做参数传入function showSelf(obj){alert("我叫" obj.name , 今年 obj.age "岁,是" obj.sex "的");}// showSelf(person);showSelf({name: "小明…

PHP教程:php导入到excel-支持utf8和gbk两种编码

php导入到excel-支持utf8和gbk两种编码 php导入到excel乱码是因为utf8编码在xp系统不支持所有utf8编码转码一下就完美解决了 utf-8编码案例 <?php header(Content-Type: application/vnd.ms-excel; charsetUTF-8); header(Pragma: public); header(Expires: 0); …

关于面向对象的编程

一、面向对象是什么 面向对象是软件开发的方法&#xff0c;是一种对现实世界理解和抽象的方法&#xff0c;是计算机编程技术发展到一定阶段后的产物&#xff0c;是一种高级的编程思想。 二、面向对象的编程思想 面向过程&#xff1a;只关心数学逻辑。 面向对象&#xff1a;直接…

转一篇 搞笑的

http://www.cnblogs.com/huobazi/articles/2690.aspx转载于:https://www.cnblogs.com/huobazi/archive/2004/03/10/2676.html

SQL Server 中截取日期的日期部分与时间部分

SQL Server 中截取日期的日期部分与时间部分 CONVERT ( data_type [ ( length ) ] , expression [ , style ] )SQL Server 中截取日期的日期部分&#xff1a; select convert(varchar(10),getdate(),120)SQL Server 中截取日期的时间部分&#xff1a; select convert(varchar(8…

考察数据结构——第二部分:队列、堆栈和哈希表[译]

相关文档 考察数据结构——第一部分:数据结构简介 考察数据结构——第三部分&#xff1a;二叉树和BSTs 原文链接&#xff1a;Part 2: The Queue, Stack, and Hashtable 本文是"考察数据结构"系列文章的第二部分&#xff0c;考察了三种研究得最多的数据结构&#xff…

AJAX的封装和提交方式

一、什么是AJAX ajax是一种技术&#xff0c;是用来进行前后端交互的技术。他可以异步的运输数据。可以节省异步的操作、时间、提高用户的体验、减少数据请求、传输数据请求。 异步&#xff1a;非堵塞&#xff0c;前面一个程序是否执行完毕&#xff0c;不影响后面的程序的执行。…