cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中(转)

  基本概念:cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中。

  以博客园为例,我们看看cookie有哪些属性:

  1、Name:cookie的名称;

  2、Value:cookie名称对应的值;

  3、Domain:设置cookie作用域。默认是当前web服务器的主机名。设置该属性可使大型网站子域之间共享cookie,不过只能设置为当前服务器的域。

举个栗子:order.example.com域下的服务器想读取catalog/example.com域下设置的cookie,则将domain设为.example.com。

  既然讲到了cookie作用域,就多说一点,cookie作用域是通过文档源和文档路径来确定的,默认作用域和创建它的页面有关,对该页面及该页面同目录或子目录的其他页面可见。

  4、Path:设置cookie作用域。来自同一个服务器的页面,只要其URL以指定的路径前缀开始,都可以共享cookie。(注意该属性不能用作访问控制机制)

举个栗子:http://www.test.com/catalog/widgets/index.html页面创建了一个cookie,如果path属性设置为/catalog,那么该cookie对于http://www.test.com/catalog/order.html可见;如果path属性设置为/,那么该cookie对于http://www.test.com的服务器上的页面都可见。

  5、Expires/Max-Age:控制cookie的有效期。cookie默认的有效期只能持续在web浏览器的会话期间,一旦用户关闭浏览器,cookie保存的数据就消失了,可以通过设置该属性来延长cookie有效期,浏览器会将cookie数据存储在一个文件中,到了有效期才会删除它。

  6、Size:cookie大小。每个cookie保存的数据(名字和值的总量)不能超过4KB。

  7、HTTP

  8、Secure:表明cookie值以何种形式通过网络传递的布尔值。cookie默认以不安全的形式传递(即默认值为 false),一旦被标识为安全的,那就不能自动传递,只有浏览器和服务器通过HTTPS或其他安全协议连接时才传递。

  了解基础知识后,我们来实践一下,对cookie进行读写。

  将过期时间设为1天的示例:

function setCookie(key, val, options) {
        options = options || {};
        var expires = options.expires;

        if (typeof (expires) === "number") {
            expires = new Date();
            expires.setTime(expires.getTime() + options.expires);
        }

        document.cookie =
            key + "=" + escape(val)
            + (expires ? ";expires=" + expires.toGMTString() : "")
            + (options.path ? ";path=" + options.path : ";path=/")
            + (options.domain ? "; domain=" + options.domain : "");
    };
    setCookie('name','yun',{expires:1*24*60*60*1000});

  获取cookie值的示例:

function getCookie(key) {
        var a, reg = new RegExp("(^| )" + key + "=([^;]*)(;|$)");
        if (a = document.cookie.match(reg)) {
            return unescape(a[2]);
        } else {
            return "";
        }
    };
    console.log(getCookie('name'));

  参考资料:

1、Flanagan, D. javascript权威指南[M]. 北京:机械工业出版社, 2012. 586-592

http://www.cnblogs.com/lovelyun/p/5401248.html

 

时间: 2024-10-02 11:04:17

cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中(转)的相关文章

用SQL Server为Web浏览器提供图像1

微软SQL Server数据库服务器能够在SQL数据库里保存图片和大量的文本.图片和文本使用的数据类型分别是image图片类型和text文本类型.假如使用VB或VC开发前端应用程序,在windows操作系统上运行,那么可以容易地从SQL数据库里提取图片数据,把它放入一个文件,并在屏幕上显示出来.但是,要是想从SQL Server得到图片,并在Web浏览器里显示,就不那么容易了.虽然在微软SQL Server 6.5里提供了Web助理和存储过程 sp_makewebtask.sp_runwebta

用SQL Server为Web浏览器提供图像

微软SQL Server数据库服务器能够在SQL数据库里保存图片和大量的文本.图片和文本使用的数据类型分别是image图片类型和text文本类型.假如使用VB或VC开发前端应用程序,在windows操作系统上运行,那么可以容易地从SQL数据库里提取图片数据,把它放入一个文件,并在屏幕上显示出来.但是,要是想从SQL Server得到图片,并在Web浏览器里显示,就不那么容易了.虽然在微软SQL Server 6.5里提供了Web助理和存储过程 sp_makewebtask.sp_runwebta

web 浏览器是一个胖客户端吗 ?

问题描述 web浏览器是一个胖客户端吗? 解决方案 解决方案二:http://hi.baidu.com/zywbz/blog/item/4173c7082440b935b0351df3.html按照定义看,应该算,解决方案三:谢谢.....解决方案四:不是瘦的吗解决方案五:???????????????解决方案六:理论上是的,是个很大的,呵呵解决方案七:从实际中来看,确实是解决方案八:什么是胖客户端啊???解决方案九:不是胖客户端,根据我的理解,胖客户端就是指业务处理.数据处理过程在客户端进行,

Web持久化存储Web SQL、Local Storage、Cookies(常用)

在浏览器客户端记录一些信息,有三种常用的Web数据持久化存储的方式,分别是Web SQL.Local Storage.Cookies. Web SQL 作为html5本地数据库,可通过一套API来操纵客户端的数据库(关系数据库),下面是支持浏览器情况. 鉴于PC浏览器支持情况,我找了淘宝.京东.携程.起点.优酷网站,并没有用Web SQL记录客户端信息.在移动端比较适用,特别是对于Hybrid应用,更是得心应手. 接口: openDatabase transaction executeSql 1

操控一切:Web浏览器中的操作系统

本文讲的是操控一切:Web浏览器中的操作系统,[IT168 资讯]如果说现在已经进入了"云时代"我觉得一点儿也不为过.所谓"云时代"是指云计算和云存储的能力在当今已经达到了一定水平,人们的基本信息需求都由云来提供,在云中处理,在云中实现.这样的时代离我们很遥远吗?非也. 在人们所谈论的云服务方式中,从基于Web的电子日历,在线字处理,电子表格等程序,到基于Web的桌面系统,已经悄悄的占据了我们的工作和生活.这些服务不限时间不限地点,便捷等优势,已经改变着人们的使用习

什么是WEB浏览器插件

插件是指会随着IE浏览器的启动自动执行的程序,根据插件在浏览器中的加载位置,可以分为工具条(Toolbar).浏览器辅助(BHO).搜索挂接(URL SEARCHHOOK).下载ActiveX(ACTIVEX). 因为插件由不同的发行商进行插件开发发行,其技术水平也良莠不齐,插件程序很可能与其它运行中的程序发生冲突,从而导致诸如各种页面错误,运行时间错误等等现象,阻塞了正常浏览. IE浏览器常见的插件例如:Flash插件.RealPlayer插件.MMS插件.MIDI五线谱插件.ActiveX插

XXXTerm 1.7.0发布 简约Web浏览器

XXXTerm是一个适合键盘操作的简约http://www.aliyun.com/zixun/aggregation/17119.html">Web浏览器,其功能和界面致力打造成类似vi的浏览器.它提供了持久性和每个会话控制的脚本和cookies,因此很容易阻止跟踪和脚本攻击. XXXTerm 1.7.0版本添加了线程异步检索证书.由于锁定的WebKit.gcrypt 和Flash Player之间的问题,进行了大量的变更.此版本解决所有的缺陷和防止死锁或崩溃.添加了一个白名单插件,类似于

如何从Web浏览器远程监视Linux服务器和桌面

当你要监视一台Linux机器时,你会有很多的选择.虽然现在有很多产品质量监控方案(比如 Nagios. Zabbix. Zenoss),它们拥有华丽的UI,可扩展监控,易于理解的报告等等,这些方案对于大多数终端用户都太过于强大了.如果你只需检查Linux服务器或桌面的基本状态(比如,CPU负载.内存使用.活跃进程),就请考虑一下linux-dash. linux-dash是一款面向Linux机器的基于web的轻量级监控面板,可以实时显示不同的系统属性,比如CPU负载.内存使用.磁盘使用.网络速度

手把手教你阻止Web应用存储敏感数据

Michael Cobb是认证信息系统安全架构专家(CISSP-ISSAP),知名的安全作家,具有十 多年丰富的IT行业经验,并且还从事过十六年的金融行业.他是Cobweb Applications公司的创始人兼常务董事,该公司主要提供IT培训,以及数据安全和分析的支持.Michael还合著过IIS Security一书,并为领先的IT出版物撰写过无数科技文章.此外,Michael还是微软认证数据库系统管理员和微软认证专家.498)this.width=498;' onmousewheel =