`
micheal19840929
  • 浏览: 165662 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Cookie之一

    博客分类:
  • J2EE
阅读更多

Cookie是存储在客户端计算机中的一些信息,这些信息多用于与服务器进行交互。使用Document对象的cookie属性可以读取和设置Cookie的内容。

17.1  Cookie介绍

在HTML和JavaScript出现初期,网页的内容比较单一,仅仅只是显示一些文字和图片。而随着网络技术的发展,客户端与服务器之间的联系变得越来越多,也越来越重要。在这些联系之中,经常需要建立一些信息,如用于识别用户的ID等,而这些信息通常都是以Cookie的形式存储在客户端计算机中的。

17.1.1  Cookie简介

从JavaScript的角度来看,Cookie就是一些信息,如用户ID、用户状态等。这信息存放在客户端计算机中,用于客户端计算机和服务器之间传递信息。在JavaScript中,可以通过Document对象的cookie属性来读取或设置这些信息。由于Cookie多用在客户端计算机和服务器端计算机之间进行通信,因此,除了客户端程序(如JavaScript)之外,还有很多服务器端的程序(如ASP等)也可以存取Cookie。

对于操作系统而言,Cookie就是一个文件,这个文件中记录着客户端计算机与服务器端计算机通信所需要的信息。为了安全方面的考虑,浏览器通常只会让Cookie的创建网站来访问该Cookie。例如,A网站所创建的Cookie只有A网站可以访问,而B网站所创建的Cookie也只有B网站可以访问,A、B网站不能访问对方所创建的Cookie。因此,用户不必担心信息泄露。

17.1.2  Cookie的使用范围

实际上,Cookie的作用就是与服务器互动。由于网络的发达,客户端与服务器的互动变得十分重要,在以下几个场合中经常可以看到Cookie的身影。

  ●     用户登录:在很多网站的登录页面中都可以看到一个Cookie选项,多用于询问用户在多长时间不需要再登录,如一天、一个月或一年等。这就需要使用Cookie技术,在用户第一次登录时,使用Cookie记录下了用户的信息,并让其保存一天、一个月或一年。只要Cookie没有过期,那么用户在下次访问需要身份验证时,就会通过Cookie将信息传递到服务器上,避免了用户的重复登录。

  ●     电子商务:在电子商务中使用最多的就是购物车和最近浏览过的商品。这两项都使用了Cookie技术。当用户看到需要购买的商品时,浏览器可以将这些商品的信息写在Cookie中,此时的Cookie相当于购物车,只不过购物车中存放的不是商品,而是商品的信息。在用户最后结账时,可以将所有的商品信息从Cookie中取出,统一付款。最近浏览过的商品的处理方式相同,也是将用户最近浏览过的商品信息存放在Cookie中,当用户下次再访问该电子商务网站时,可以看到自己上次浏览过哪些商品。在电子商务中,使用Cookie还可以将购物做得更人性化。例如,通过Cookie记录用户浏览过的商品信息,再通过分析这些商品的共性来为用户推荐相关商品。

  ●     博客:博客是目前网络中流行的网络日记。不同的用户都可以在博客中发表文章,也可以装饰自己的博客风格,如背景颜色、文字大小等。这些都可以先写在Cookie中,在用户确定之后,才一次性提交到服务器上。

17.1.3  Cookie的基本概念

Cookie与前面章节中所介绍的变量、常量等不同,Cookie的信息是记录在一个Cookie文件中,并且这个Cookie文件是存放在客户端计算机中的,在使用Cookie时必须要注意以下几个基本概念。

  ●     名称:每一个Cookie都有自己的名称,就好像每一个变量、常量都有自己的一个名称一样。通过Cookie名称可以存储Cookie信息。在JavaScript中,Cookie名称也必须是一个合法的标识符。如用户编号可以使用userId来命名。

  ●     值:通过Cookie名称所存储的Cookie值,也就是存放在Cookie中的具体信息。例如用户的编号为10,那么userId的值为10。

  ●     生存期:也就是Cookie的有效日期。在默认情况下,一个Cookie的生存期就是浏览器窗口关闭的时间。也就是说,在一个浏览器窗口中创建的Cookie,只要该浏览器没有关闭,那么该Cookie就会一直有效,一旦该浏览器窗口关闭,那么由该浏览器窗口所创建的Cookie就会失效,不能再访问。如果想要该Cookie在浏览器窗口关闭后还可以使用,就必须要为该Cookie设置生存期,也就是失效的日期。

  ●     路径:出于安全方面的考虑,通常一个网页所创建的Cookie只能被与该网页在同一目录或子目录下的所有网页访问,而不能被其他目录下的网页访问。例如由“http://www.aspxfans.com/BookSupport/sample.htm”所创建的Cookie,可以被“http://www.aspxfans.com/BookSupport/”下的所有网页访问,也可以被“http://www. aspxfans.com/BookSupport/jsCode/”下的所有网页访问,但不能被“http://www. aspxfans.com/”下或“http://www.aspxfans.com/Book/”下的任何网页访问。可以通过设置Cookie路径的方法让“http://www.aspxfans.com/”下或“http://www.aspxfans. com/Book/”下的所有网页访问该Cookie。

  ●     域:同样是出于安全方面的考虑,在默认情况下,即使设置了Cookie的路径,也只能在同一个域中访问Cookie,不同域之间的网页是不能互相访问Cookie的。如“www.aspxfans.com”和“book.aspxfans.com”两个服务器之间的网页就不能互相访问Cookie。可以通过设置Cookie域的方法让“www.aspxfans.com”和“book.aspxfans.com”两个服务器之间的网页互相访问Cookie。

  ●     安全:在默认情况下,Cookie信息的传递使用的是没有加密的明码传递方式,如果Cookie中的信息比较重要,这就要求对Cookie信息进行加密。如果将Cookie的secure设为true,那么该Cookie就只能在HTTPS或其他安全协议中传输,可以增加安全性。

17.1.4  使用Cookie的注意事项

Cookie的使用范围很广,但是在使用Cookie时,有以下几个方面必须要注意:

  ●     一个网页可以创建多个Cookie,但多个Cookie可能会放在同一个cookie文件中。

  ●     每个Cookie所存放的数据不能超过4KB。

  ●     每个Cookie文件中存储的Cookie个数不能超过300个。

  ●     每个域可以创建的Cookie文件不能超过20个。

  ●     浏览器可以通过设置来接受或拒绝访问Cookie。

  ●     虽然浏览器可以禁止网页访问非本网站(或域)所创建的Cookie,但是由于Cookie是以文件的形式存放在客户端计算机中的,因此,可以使用第三方工具来查看和修改Cookie文件中的内容。

<!-- page -->
分享到:
评论

相关推荐

    cookie之困

    本文将基于“Cookie之困”这一主题,深入探讨Cookie的基本概念、工作原理以及存在的安全隐患,并提出相应的解决方案。 #### 二、Cookie基础 ##### 1. 定义 Cookie 是一种简单的文本格式文件,用于存储用户的偏好...

    JAVA之cookie与session

    ### JAVA之cookie与session #### 一、Cookie与Session的概念 **Cookie** 与 **Session** 是两种在 Web 开发中用于跟踪用户会话的重要技术。它们的主要目标是在客户端和服务端之间保持状态。 - **Cookie** 机制...

    web技术之cookie讲解

    在Web开发中,Cookie是一种非常重要的技术,它用于在客户端和服务器之间存储和传递信息。本文将深入探讨Cookie的基本概念、工作原理、用途以及在Java中的实现。 首先,Cookie是由服务器端发送到用户浏览器并存储在...

    C#cookie实现历史记录

    在C#编程语言中,处理Cookie是构建动态Web应用程序的关键技能之一。本篇将深入探讨如何使用C#来创建、设置、读取和管理Cookie。 首先,Cookie是由服务器端发送到用户浏览器并存储在本地的小型文本文件。它们主要...

    JAVA100例之实例81Cookie计数器

    "JAVA100例之实例81Cookie计数器"是一个典型的示例,旨在教会开发者如何使用Cookie来实现一个简单的访问计数功能。下面我们将深入探讨这个实例涉及的知识点。 1. **Cookie基本概念**: - Cookie是由服务器发送到...

    iOS开发之cookie研究demo

    在iOS开发中,Cookie是用于在客户端和服务器之间存储会话状态的一种机制,它在Web应用和原生应用中都发挥着重要的作用。本篇主要探讨如何在iOS中处理Cookie,涉及了系统自动管理Cookie以及手动管理Cookie的几种方式...

    JavaScript入门之事件、cookie、定时等

    JavaScript作为网页开发中最广泛使用的脚本语言之一,其事件处理机制、cookie的应用、定时任务的执行是前端开发的重要知识点,对于初学者来说,理解这些概念对于学习JavaScript至关重要。 ### 事件 (Event) 在Web...

    android cookie获取和设置,webView的cookie的同步

    此外,在 WebView 中进行 Cookie 的同步也是实现持久化登录等场景的关键技术之一。 #### 一、HttpClient 请求中的 Cookie 管理 ##### 1. 设置 sessionId 以维持状态 在 Android 应用程序与 Web 服务交互的过程中...

    利用cookie控制弹窗24小时只显示一次

    标题中的“利用cookie控制弹窗24小时只显示一次”是指一种常见的网页用户体验优化技术,主要目的是避免频繁的...对于开发者来说,理解和掌握Cookie的使用是构建交互式Web应用的基础,同时也是提升用户体验的关键之一。

    jsp之Cookie自动登录

    当用户首次登录成功后,服务器会生成一个唯一的Session ID,并将其存储在Cookie中,同时在服务器端也保存这个Session ID与用户信息的关联。下次用户访问时,服务器通过检查Cookie中的Session ID来判断用户是否已登录...

    获得上次访问时间(cookie)

    在Web开发中,跟踪用户访问行为是常见的需求之一,这通常涉及到记录用户的“上次访问时间”。Cookie作为一种客户端存储机制,可以方便地实现这一功能。本文将深入探讨如何使用Cookie来获取用户的上次访问时间,并...

    cookie实例

    总的来说,理解和熟练运用Cookie是Web开发的基础,它为无状态的HTTP协议提供了状态保持的能力,是构建动态、交互式Web应用的关键技术之一。通过实践和学习"cookie实例",开发者可以更好地掌握Cookie的使用,提高用户...

    cookie&amp.pdf

    ### 深入理解Servlet/JSP之“Cookie和Session原理” #### 一、Cookie **Cookie** 是一种机制,用于在网络应用中跟踪用户的状态信息。它由服务器端生成,并发送到用户浏览器上进行存储。每当浏览器请求服务器时,...

    谷歌浏览器修改cookie方法

    Google Chrome作为最流行的浏览器之一,处理Cookie的方式对开发者和普通用户都至关重要。本文将详细介绍如何在Chrome浏览器中查看、修改以及管理Cookie。 一、理解Cookie Cookie是由服务器端发送到客户端(浏览器...

    silverlight中cookie的使用

    相比之下,在ASP.NET(ASPx)页面中,我们可以直接使用HttpContext.Current.Request.Cookies和HttpContext.Current.Response.Cookies集合来操作Cookie。这些集合提供了添加、修改和删除Cookie的便利方法。例如: ``...

    javaweb之cookie和session的应用

    Cookie是由服务器端发送到客户端(浏览器)的一小段文本信息,用于在客户端和服务器之间传递状态信息。它主要由以下几部分组成: 1. **Name**: Cookie的唯一标识。 2. **Value**: 与Name对应的值。 3. **Path**: ...

    Cookie实例保存账号和密码

    在Web开发中,Cookie是一种非常重要的技术,用于在客户端存储少量的数据,比如用户登录状态、偏好设置等。本文将深入探讨“Cookie实例保存账号和密码”的概念,通过两个示例页面`login.jsp`和`bean.jsp`来阐述如何...

    cookie 详解

    会话跟踪是Web开发中的关键环节之一,用于确保用户的每次操作都被正确地关联到相应的会话中。常见的会话跟踪技术主要包括Cookie与Session。 #### 二、Cookie机制 ##### 2.1 什么是Cookie Cookie是一种由W3C组织...

    会话对象之Cookie一篇搞定.md

    Cookie的作用可大了,但无论怎么夸大Cookie的作用都离不开“跟踪客户端状态”这句话。我们知道Cookie是服务器保存在客户端的信息,然后客户端会在下次请求时把Cookie在还给服务器,这样服务器就可以通过信息来识别...

Global site tag (gtag.js) - Google Analytics