每个cookie都有四个可选的属性,他们分别控制cookie的生存周期、可见性、安全性等。

Cookies最初设计时,是为了CGI编程。但是,我们也可以使用Javascript脚本来操纵cookies。在本文里,我们将演示如何使用Javascript脚本来操纵cookies。(如果有需求,我可能会在以后的文章里介绍如何使用Perl进行cookie管理。但是如果实在等不得,那么我现在就教你一手:仔细看看CGI.pm。在这个CGI包里有一个cookie()函数,可以用它建立cookie。但是,还是让我们先来介绍cookies的本质。

在Javascript脚本里,一个cookie 实际就是一个字符串属性。当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称和值。每个cookie除了name名称和value值这两个属性以外,还有四个属性。这些属性是: expires过期时间、 path路径、 domain域、以及 secure安全。

Expires– 过期时间。指定cookie的生命期。具体是值是过期日期。如果想让cookie的存在期限超过当前浏览器会话时间,就必须使用这个属性。当过了到期日期时,浏览器就可以删除cookie文件,没有任何影响。

Path– 路径。指定与cookie关联的WEB页。值可以是一个目录,或者是一个路径。如果/head/index.html 建立了一个cookie,那么在/head/目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这个cookie。这就是说,在/head/stories/articles 里的任何页面都可以访问/head/index.html建立的cookie。但是,如果/zdnn/ 需要访问/head/index.html设置的cookes,该怎么办?这时,我们要把cookies的path属性设置成“/”。在指定路径的时候,凡是来自同一服务器,URL里有相同路径的所有WEB页面都可以共享cookies。现在看另一个例子:如果想让 /head/filters/ 和/head/stories/共享cookies,就要把path设成“/head”。

Domain – 域。指定关联的WEB服务器或域。值是域名,比如goaler.com。这是对path路径属性的一个延伸。如果我们想让dev.mycompany.com 能够访问bbs.mycompany.com设置的cookies,该怎么办? 我们可以把domain属性设置成“mycompany.com”,并把path属性设置成“/”。FYI:不能把cookies域属性设置成与设置它的服务器的所在域不同的值。

Secure – 安全。指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是“secure”,或者为空。缺省情况下,该属性为空,也就是使用不安全的HTTP连接传递数据。如果一个 cookie 标记为secure,那么,它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过,设置了secure属性不代表其他人不能看到你机器本地保存的cookie。换句话说,把cookie设置为secure,只保证cookie与WEB服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密。如果想让本地cookie也加密,得自己加密数据。

functionsetCookie(name,value){

varname=escape(name);

varvalue=escape(value);

varexpires=newDate();

expires.setTime(expires.getTime()+8760*3600000);

varpath=";path=/";

var_expires=(typeofhours)=="string"?"":";expires="+expires.toUTCString();

document.cookie=name+"="+value+_expires+path;

}

functionsetCookie2(name,value,domain){

varname=escape(name);

varvalue=escape(value);

varexpires=newDate();

expires.setTime(expires.getTime()+3600000);

var_expires=(typeofhours)=="string"?"":";expires="+expires.toUTCString();

document.cookie=name+"="+value+";path=/"+_expires+";domain="+domain;

}

//获取cookie值

functiongetCookie(name){

varname=escape(name);

//读cookie属性,这将返回文档的所有cookie

varallcookies=document.cookie;

//查找名为name的cookie的开始位置

name+="=";

varpos=allcookies.indexOf(name);

//如果找到了具有该名字的cookie,那么提取并使用它的值

if(pos!=-1){

varstart=pos+name.length;

varend=allcookies.indexOf(";",start);

if(end==-1)end=allcookies.length;

varvalue=allcookies.substring(start,end);

returnunescape(value);

}

elsereturn"";

}

//删除cookie

functiondeleteCookie(name){

varname=escape(name);

varexpires=newDate(0);

varpath=";path=/";

document.cookie=name+"="+";expires="+expires.toUTCString()+path;

}

//cookie设置获取删除

function setCookie(key,value,day){

document.cookie=key+"="+value+";expires="+day*24*60*60;

}

function getCookie(key){

for(var i=0;i

if(document.cookie.split(";")[i].split('=')[0]=key){

return document.cookie.split(';').split('=').[1];

}

}

}

function deleteCookie(key){

//setCookie(key,'',-1)

document.cookie=key+"='';expires="+(-1);

}

cookie分号后面没有值_Cookie的属性(cookie的设置、获取和删除)相关推荐

  1. cookie分号后面没有值_浏览器Cookie介绍

    Web应用程序是使用HTTP协议传输完成的.HTTP协议是无状态的协议.当数据交换完毕以后,客户端与服务器端的连接就会关闭.当再次交换数据的时候需要重新建立新的连接.这就意味着服务器无法从连接上跟踪会 ...

  2. asp.net cookie操作-添加cookie,添加键值,移除cookie,移除键值

    1 public class Cookies 2 { 3 /// <summary> 4 /// 添加cookie 5 /// </summary> 6 /// <par ...

  3. Cookie的设置获取和删除

    关于Cookie操作的实验,包括设置,获取和删除. 设置Cookie name[必选] value[必选] expiredays[必选] setCookie getCookie 操作Cookie GE ...

  4. 37.Django中设置获取和删除cookie

    引言--我们都知道HTTP(超文本传输协议)是一个无状态的协议. 那么客户端和服务器都是怎么记录登录的状态的呢--也就是怎么维持登录的呢? (比如:你在浏览器中登录过了爱奇艺账号,哪怕你网页关闭了,只 ...

  5. 面试题-js获取cookie中存储的值?

    js获取cookie中存储的值? 1.cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript.可以由JavaScript对其进行控制,而并不是Jav ...

  6. html cookie传参,页面间固定参数,通过cookie传值的实现方法

    最后在做的页面,比如用户数据(用户头像,名称,年龄)这些信息,因为大部分页面都要用,之前是通过url地址传,另一页面接收.考虑到这样做会让url过长,因此,尝试使用cookie,把固定的值保存在coo ...

  7. JS创建、获取、删除 cookie 方法

    js 创建 cookie 方法 // 没有设置 cookie 过期时间的话,默认是 会话cookie(浏览器关闭时,该cookie失效,被删除) document.cookie = cname + & ...

  8. php cookie expires,php cookie类(设置、获取、删除cookie值)

    分享一个php cookie操作的类,可以设置cookie.获取cookie.删除cookie. 代码: /** * php cookie类 * class:PHP_COOKIE * by www.j ...

  9. Flask 框架中 上下文基础理念,包括cookie,session存储方法,requset属性,current_app模块和g模块...

    Flask中上下文,分为请求上下文和应用上下文.既状态留存 ,就是把变量存在某一个地方可以调用 请求上下文:实际就是request和session用法理念,既都是可以存储东西. 应用上下文:既变量共享 ...

最新文章

  1. 盛大 Everbox同步网盘,可以本地和云服务文件同步,还不错,推荐下面的注册地址...
  2. 学计算机须知,学习计算机须知的50个专业术语
  3. .net 基元类型,引用类型和值类型
  4. 我使用过的Linux命令之clear - 清除终端屏幕,不是cls
  5. 【报告分享】完美日记品牌分析报告.pdf(附68页pdf全文下载链接)
  6. I - Crossword Answers
  7. 明明是数字“1000”转换成整形时却报错---BOM 非法字符 /65279(FEFF) big endian(FEFF)和little endian(FFFE) 模式
  8. python excel案例导入jira_用Python脚本批量添加JIRA用户,python,jira
  9. IT实施计划实战经验分享:如何制定
  10. 微软补丁地址以及查找方式
  11. SpringBoot-引入jackson-dataformat-xml之后,本返回json的接口返回xml
  12. 《回炉重造》——Lambda表达式
  13. 学生宿舍管理系统c语言程序设计,学生宿舍管理系统C语言编程.doc
  14. SEO人员,如何保持创新思维?
  15. 微信公众平台订阅号和服务号的区别详解
  16. 计算机系统基础 第一章计算机系统概述
  17. 计算机三级网络技术考试容易吗,计算机三级网络技术难吗?
  18. https页面加载http资源的解决方法
  19. 快速打造一款新款爆品可以这么做
  20. selenium爬取评论

热门文章

  1. Tensorflow2.0:使用Keras自定义网络实战
  2. python语音开发库-各种 Python 库/模块/工具
  3. golang interface 类型转换_Golang面试题41道
  4. java 弹出另存为_java如何实现 io流传输过来的文件,提示另存为弹出窗口?
  5. openlayers 点线面
  6. okHttp3连接池简单使用
  7. 2013年国家计算机等级考试c语言考试真题,2013年3月计算机等级考试二级C语言真题及答案.doc...
  8. html 实现表格控制器,在html动态表格中将数据发布到带有ajax的控制器
  9. 4 读写文件_WEB安全之SQL注入(4)——读写文件
  10. springMVC+hibernate + layui分页