Cookie简介及相关操作
今天来介绍下Cookie的相关知识及操作,包括设置Cookie的设置,读取和删除等。
什么是Cookie
由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。
Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。
文章结构:
1.Cookie的查看方式
2.Cookie的特性
3.设置Cookie
4.读取Cookie
5.删除Cookie
1.Cookie的查看方式
- 在要查看Cookie的网页上输入
JavaScript: alert (document. cookie)
- firefox浏览器任意页面下,右键单击,选择“查看页面信息”,之后在弹出的页面上选择带金色小锁的“安全”,在该标签页下点击“查看Cookie”。
2.Cookie的特性
- 同一个网站共享同一套cookie。
- Cookie的大小和条数受限,因浏览器不同而各异,大小在4k-10k左右,一般不会超过50条。具体大小限制
- Cookie添加的时候会指定过期时间,超过这一时间即被删除。不指定过期时间,则浏览器关闭过期。
3.设置Cookie
在这里先说一下Cookie的赋值,赋值形式为键值对,用“=”赋值:键=值。
当对Cookie重复添加键值对的时候,不会覆盖前一个
1 | document.cookie='user=mia'; |
设置Cookie的函数
1 | //name为键值对的键,value为值,iDay为过期时间 |
4.读取Cookie
读取的过程即为分割Cookie字符串的过程1
2
3
4
5
6
7
8
9
10function getCookie(name){
var arr = document.cookie.split('; ');//注意这里是分号+一个空格
for(var i = 0; i < arr.length; i++){
var arr2 = arr[i].split('=');
if(arr2[0] == name){
return arr2[1];
}
}
return '';
}
5.删除Cookie
删除Cookie用到了一个小技巧,将Cookie的过期时间设置为负值,即过去的某个时间已过期,就完成了Cookie的删除。1
2
3function removeCookie(name){
setCookie(name,1,-1);//已过期
}
【参考资料】
智能社JavaScript视频教程