- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章用Cookie在客户端保存解析
第7章 用Cookie在客户端保存信息 前面的章节从各个方面讲述了JavaScript的基础知识。从本章开始,将进入JavaScript针对web页面控制的部分。在制作网页的时候,常常需要使用表单和用户交互。而有时表单项目很多,用户填写了很久的时间,却因为意外(超时、误操作...)等原因离开了该页面,再次回到表单页面时不得不重填所有的项目,这会给用户非常难以忍受的体验。那么一个理想的解决方案就是将用户的表达内容保存在本地,当页面载入时重载这些数据即可。 本章将介绍: URL的构成 HTTP协议的基本特点 Cookie对象的读取和写入 字符串对象的编码和解码 Cookie对象的有效期、域和路径属性 7.1 示例:用Cookie实现可以记住内容的表单 代码7-1.htm就是一个可以记住用户输入内容的表单。 7.2 什么是Cookie “Cookie”来自于英文,原意是“小甜饼”。维基百科上的定义是:“Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据”。简单来说,Cookie就是服务器暂存放在浏览者电脑里的资料,好让服务器用来辨认其计算机。在浏览网站的时候,Web服务器会先送一小小资料放在访问者的计算机上,这段资料就是Cookie。当下次用户再访问同一个网站,Web服务器会先看看有没有其上次留下的Cookie资料,有的话,就会依据Cookie里的内容来判断使用者,送出特定的网页内容。 7.2.1 HTTP协议简介 用户在浏览网页的时候,浏览器的地址栏里输入的网站地址叫做统一资源定位符(URL—Uniform Resource Locator)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址,这个地址就是URL。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。 7.2.2 Cookie存在的意义 正是由于HTTP协议有着非连接和无状态的特性,使得服务器并不能够区分出每次访问者之间的不同。比如用户A和用户B先后请求一个页面,服务器并不能判断出这两次请求是来自于不同的用户,还是来自于同一个用户。那么在实际的网络分布式应用中,客户身份的确认就成为一个很大的困扰。为了解决这个问题,人们在HTTP协议的基础上扩展出Cookie这个有力的工具。 Cookie是一小段文本信息,被保存在客户端。每次浏览器访问服务器的时候,会自动的提交这段信息给服务器,服务器上的可执行程序(ASP、PHP或者其他的程序)会获得这段信息,并且根据该信息进行相应的处理。 7.2.3 Cookie的优点和限制 Cookie协助HTTP协议,使得客户端和服务器之间的通信有了“状态”,给用户和网站带来了很多的好处。举例来说,Cookie可以实现很多非常实用的应用: 同样的,Cookie的限制也有很多: (1)大小受到限制。 (2)用户配置为禁用。 (3)潜在的安全风险。 7.3 把输入框的内容保存在客户端-使用Cookie 虽然大多数情况下,Cookie都是由服务器端的应用程序(如ASP、PHP和Perl等)操作和处理的。但JavaScript也提供了对Cookie的操作控制机制。 7.3.1 Cookie的保存和读取 在JavaScript的文档对象模型(DOM)中,Cookie对象是从属于文档对象(window.document)的子对象。其表现行为类似于一个字符串对象。如前面所说,Cookie保存的是文本信息,因此JavaScript中常将字符串或数值型变量的内容保存于其中。 在访问Cookie内容时,系统会将所有保存的数据以分号分隔,作为一个字符串整体返回,因此常需要对其进行字符串操作,以提取特定项目的数据。 7.3.2 字符串的编码 在字符串的实际使用中,常常会遇到对其编码的限制。比如Cookie中不允许需要保存的字符串中有分号“;”出现。有些操作系统,在解释中文的字符串时常常出现乱码的现象。这些都需要程序员想办法避免储存数据中出现非英文字母、非数字的字符。 JavaScript提供了内置的编码和解码函数,用来将非英文的字符编码或解码。 7.4 Cookie的有效期、域和路径 Cookie作为网站保存在客户端电脑上的小段文本信息,不可能永远的存在下去,其有着一定的生存周期。当过期
文档评论(0)