JavaScript 客户端JavaScript之cookie和客户端持久性

Document对象都有一个cookie属性,它使得JavaScript代码能够在用户的硬盘上持久地存储数据,

并且能够获取以这种方式存储的数据。客户端持久性是赋予WEB应用程序记忆力的一种简单方法。

cookie还可以用于客户端脚本化,并且是HTTP协议的一个标准扩展。

cookie的字符串由  名字/值 组成 (=区分),不同的属性之间用分号隔开。

cookie有4个可选属性

1、expires(已被max-age取代)  生存期

expires是未来的一个过期日期,max-age用秒来设置生命期

2、path    指定与此cookie关联在一起的网页

具有默认值,可通过设置path值,使其他来自同一个网络服务器的网页也可见(只要它的URL中

含有指定路径(path的值),就可以共享这个cookie(具有访问权限的页面可以使用docuemtn.cookie访问指定的cookie)

3、domain  用于多个web服务器共享cookie

如 domain=.example.com;path=/;

那么 catalog.example.com    orders.example.com 以及其它所有位于example.com域的其他服务器上的网页

都能访问 这个cookie

注:不可设置为服务器所在的域之外的域

4、secure        布尔值

指定如何传输

true       Https或其他的安全协议连接时才被传输

false      Http就可传输

注:此4个都是cookie的属性,不是JavaScript对象的属性

navigator.cookieEnabled  可查看浏览器是否启用cookie

19.2 cookie的存储

注:cookie值不能含有分号、逗号或空白符

方式: name1=value1;name2=value2;max-age=seconds;path=path;domain=domain;secure;

document.getElementById("b1").onclick = function () {

document.cookie = "version=a;max-age=2000;";

var a = document.cookie;

}

用decodeURIComponent() 解码,以前用escape()和unescape()现基本已弃用。

通过max-age设置,也可以用expires(必须是Date.toGMTString() 格式规范)

max-age=60*60*24;

1、改变一个cookie的值

使用同一个path和domain以及新的值,再设置一次cookie的值(或更新生命期)

2、删除cookie的值

设置max-age值设置为0,或者设置为任意的值(或空的值)

cookie的局限性

浏览器总个数限制及每个cookie的大小控制,一般为300个及4KB的大小限制。

19.3    cookie的读取

只能读取name=value;这些字符串,不能对cookie4种属性进行读取。

不同的name=value且分号隔开,value有多个值,可以且冒号分开,再自定义方法解析。

注:cookie的惟一标识是 path+domain

19.5 cookie的替代方法

IE userData

Flash SharedObject

时间: 2024-10-25 03:36:12

JavaScript 客户端JavaScript之cookie和客户端持久性的相关文章

JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)

XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话. 大多数浏览的客户端JavaScript都包含此功能. HTTP协议 规定了Web浏览器如何从Web服务请求文档,如何向Web服务器传送表单内容,以及如何响应 这些请求和传递. Web浏览器处理了很多HTTP(通常HTTP并不在脚本的控制之下) 1.用户点击一个链接 2.提交一个表单 3.输入一个URL 通常JavaScript代码可能脚

JavaScript权威指南第20章 客户端存储

20 客户端存储 客户端存储的几种形式: web存储 cookie IE userData 离线应用 web数据库 文件系统api 20.1 localStorage 和 sessionStorage 20.1 .1 存储有效期和作用域 localStorage 和 sessionStorage区别在于存储的有效期和作用域不同. localStorage的作用域限制在文档源级别的. 文档源:协议 主机名 端口 决定同一个文档源 同源的文档源可以共享同一个localStorage,甚至可以修改和覆

前端--关于客户端javascript

客户端javascript就是运行在浏览器中的javascript,现代的浏览器已经有了很好的发展,虽然它是一个应用程序,但完全可以把它看作是一个简易的操作系统.因为像windows.linux等操作系统为人们提供的文档存储.网络调用.绘制各种可视化图像等功能在浏览器中也同样都可以得到支持,所以就像操作系统中的程序叫做桌面应用一样,浏览器中内容丰富.可互动的web文档也叫做web应用. web应用不像桌面应用,通常情况下桌面应用所需要的资源绝大部分都已经在本地部署好了,所以桌面应用的反应速度是非

JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)

具有交互性的JavaScript程序使用的是事件驱动的程序设计模型. 目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API的一部分内容,所有启用了JavaScript的浏览器都支持它,因此它具有可移植性. 2.标准事件模型 (一种强大的具有完整性的事件模型) 2级DOM标准对它进行了标准化,除IE以外的所有浏览器都支持它. 3.IE事件模型 想用高级事件处理特性的JavaScript程序设计者必须为IE浏览器编写特定的代码

构建更好的客户端 JavaScript 应用

你可能注意到了,最近的一段时间越来越多的Web应用有变复杂的趋势,重心从服务端慢慢向着客户端转移. 这是个正常的趋势么?我不知道.支持和反对者的讨论就像是在讨论复活者和圣诞节哪一个更好一样; 很难说哪一方观点就是完全正确的.因此,本文不会探讨究竟哪一方是对的,不过我还是试图解释一下使用大家所熟知的面向对象编程也许可以成功的解决客户端编程中存在的一些问题. 不太规范的代码的示例 为了顾及一个应用的响应以及用户体验, 导致我们创建了持续增长的复杂的代码, 这些代码变得难于理解和维护. 你可以轻松的想

JavaScript学习教程之cookie与webstorage

这篇文章主要给大家介绍了关于JavaScript学习教程之cookie与webstorage的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 cookie 由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,服务器单从网络连接上是没有办法知道用户身份的.cookie就是为了解决此问题而产生的,每次新的用户请求时,便给用户颁发一个独一无二的身份证,下次访问,必须带

客户端技术:Cookie 服务端技术:HttpSession

客户端技术:Cookie 服务端技术:HttpSession 07. 五 / android基础 / 没有评论 一.会话技术1.什么是会话:客户打开浏览器访问一个网站,访问完毕之后,关闭浏览器.这个过程称之为一个会话.就如同打电话.2.会话在编程中主要解决的问题是:保存各个用户的数据信息.3.保存用户各自数据的主要技术:客户端技术:Cookie服务端技术:HttpSession 二.Cookie1.获取Cookie采用request.getCookies()2.设置Cookie采用respons

Servlet课程0426(九)Servlet服务器端创建Cookie和客户端读取Cookie

服务器端创建Cookie: Win7默认Cookie位置 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies CookieTest1.java //CookieTest1 package com.tsinghua; import javax.servlet.http.*; import java.io.*; public class CookieTest1 extends HttpServlet{ public voi

客户端识别和cookie机制

HTTP最初是一个匿名的.无状态的请求,服务器处理来自客户端的请求,然后向客户端回送响应,web服务器几乎没有什么信息来判定是哪个用户发送的请求,也无法记录用户的请求序列,以下有几种方法来增加用户识别机制: 第一.HTTP首部 1.from首部:包含了E-mail地址 2.User-Agent:包含了浏览器相关信息,包括程序的名称和版本, 3.Referer:提供了用户来源页面的URL 第二.客户端的IP地址: 通过TCP链接得到IP地址,存在的问题: 客户端IP地址描述的所用的机器,而不是用户

javascript设置和获取cookie的方法

设置cookie的方法,和获取cookie的方法如下 设置cookie document.cookie="name="+value; //获取cookie其中index是cookie的名称 function getCookie(index){ var allcookies = document.cookie; var cookie_pos = allcookies.indexOf(index); if (cookie_pos != -1){ cookie_pos += index.le