遵循Netscape cookie草案的完整的Set-Cookie 头:
Set-Cookie:customer=huangxp; path=/foo; domain=.ibm.com;
expires= Wednesday, 19-OCT-05 23:12:40 GMT; [secure]
Set-Cookie的每个属性解释如下:
- Customer=huangxp 一个"名称=值"对,把名称customer设置为值"huangxp",这个属性在Cookie中必须有。
- path=/foo 控制哪些访问能够触发cookie 的发送。如果没有指定path,cookie 会在所有对此站点的HTTP 传送时发送。如果path=/directory,只有访问/directory 下面的网页时,cookie才被发送。在这个例子中,用户在访问目录/foo下的内容时,浏览器将发送此cookie。如果指定了path,但是path与当前访问的url不符,则此cookie将被忽略。
- domain=.ibm.com 指定cookie被发送到哪台计算机上。正常情况下,cookie只被送回最初向用户发送cookie 的计算机。在这个例子中,cookie 会被发送到任何在.ibm.com域中的主机。如果domain 被设为空,domain 就被设置为和提供cookie 的Web 服务器相同。如果domain不为空,并且它的值又和提供cookie的Web服务器域名不符,这个Cookie将被忽略。
- expires= Wednesday, 19-OCT-05 23:12:40 GMT 指定cookie 失效的时间。如果没有指定失效时间,这个cookie 就不会被写入计算机的硬盘上,并且只持续到这次会话结束。
- secure 如果secure 这个词被作为Set-Cookie 头的一部分,那么cookie 只能通过安全通道传输(目前即SSL通道)。否则,浏览器将忽略此Cookie。
一旦浏览器接收了cookie,这个cookie和对远端Web服务器的连续请求将一起被浏览器发送。例如 前一个cookie 被存入浏览器并且浏览器试图请求 URL http://www.ibm.com/foo/index.html 时,下面的HTTP 包头就被发送到远端的Web服务器。
典型的网络浏览过程中浏览器如何识别和处理Cookie:
- 浏览器对于Web服务器应答包头中Cookie的操作步骤:
1. 从Web服务器的应答包头中提取所有的cookie。
2. 解析这些cookie的组成部分(名称,值,路径等等)。
3. 判定主机是否允许设置这些cookie。允许的话,则把这些Cookie存储在本地。 (与请求的url)
- 浏览器对Web服务器请求包头中所有的Cookie进行筛选的步骤:
1. 根据请求的URL和本地存储cookie的属性,判断那些Cookie能被发送给Web服务器。
2. 对于多个cookie,判定发送的顺序。
3. 把需要发送的Cookie加入到请求HTTP包头中一起发送。
浏览器在接受某一个站点的Cookie的时候,需要检查Cookie的参数domain、path、secure,看是否与当前的站点和URL相符,如果不符的话,就会忽略。另一方面。浏览器在上传Cookie的时候,也会根据当前所访问站点的属性,上传相关的Cookie,而其他的Cookie则不予上传。
Cookie规范对于一个浏览器同时能够存储的Cookie数量作出了规定。
- 总共300 个cookie
- 每个Cookie 4 K 的存储容量
- 每一个domain 或者 server 20 个cookie。
链接:http://www.ibm.com/developerworks/cn/java/j-cookie/
分享到:
相关推荐
SYN Cookie原理与Linux内核实现详解 SYN Flood攻击是一种常见的分布式拒绝服务(DoS)攻击手段,尤其在网络环境基于IPv4的TCP/IP协议栈中。这种攻击利用TCP协议的三次握手流程,通过发送大量伪造源地址的SYN请求,...
6. **Cookie的替换与删除**:如果客户端收到一个新的`Set-Cookie`字段,并且发现其`name`、`domain`和`path`与已存在的Cookie相同,则会用新Cookie覆盖旧Cookie。如果`Max-Age`属性为0,则表示该Cookie应立即删除。 ...
【Session与Cookie原理简述】 Session和Cookie是两种在Web开发中常见的用户状态管理机制,它们主要用于在HTTP协议无状态的特性下跟踪用户状态。理解它们的原理对于编写高效的Web应用至关重要。 **Cookie原理** ...
因此,在实际应用中还需要采取额外的安全措施,比如使用HTTPS协议、设置Cookie的`HttpOnly`属性以防止JavaScript脚本访问Cookie等。 #### 六、总结 通过在客户端的Cookie中存储加密后的用户名和密码,可以实现...
1. **Cookie的定义与工作原理** - Cookie是由Web服务器发送到用户的浏览器并存储在那里的一小块信息,当用户再次访问同一网站时,浏览器会将这些信息返回给服务器。 - 主要分为Session Cookie和Persistent Cookie...
### Cookie设置httpOnly和secure属性实现及问题 #### 一、引言 在现代Web开发中,保护用户的隐私和数据安全至关重要。其中一种常见的做法就是通过设置Cookie的`httpOnly`和`secure`属性来增强安全性。这两个属性...
本文将深入探讨如何使用Cookie来记录并管理用户的登录信息,包括其工作原理、实现步骤、代码示例以及安全考量。 #### 一、理解Cookie Cookie是一种由服务器发送给用户浏览器的小型文本文件,它存储在用户的计算机...
Java 模拟Cookie 登陆简单操作示例 在本文中,我们将介绍 Java 模拟 Cookie 登陆的简单操作,结合实例...本示例可以帮助开发者快速了解 Java 模拟 Cookie 登陆的实现原理和实现方法,为实际开发中提供了有价值的参考。
HTTP(超文本传输协议)是互联网上...总结来说,HTTP通信协议的工作原理涉及域名解析、TCP连接建立、HTTP请求发送、服务器处理和响应、资源加载以及连接关闭。理解这一过程对于开发Web应用程序和优化网络性能至关重要。
本文将深入探讨Cookie的基本概念、工作原理、用途以及在Java中的实现。 首先,Cookie是由服务器端发送到用户浏览器并存储在本地的一小段数据。每当用户访问同一服务器时,浏览器会自动将这些Cookie发送回服务器,...
### 深入理解Servlet/JSP之“Cookie和Session原理” #### 一、Cookie Cookie是一种常用的技术,用于实现Web应用程序中的用户会话管理。它允许服务器存储一些数据(通常是小文本文件)在用户的计算机上,以便后续...
Cookie 的工作原理是,服务器向客户端颁发一个通行证,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。Cookie 实际上是一小段的文本信息。客户端请求服务器,如果服务器需要...
本文将深入讲解Cookie的概念、工作原理,以及如何通过Servlet来实现Cookie的创建、读取和删除,以供初学者参考。 首先,我们来理解一下Cookie的基本概念。Cookie是由服务器端发送到客户端(浏览器)的一小段文本...
本文将深入探讨Cookie和Session的工作原理、应用场景以及如何在Java Web项目中进行有效利用。 **Cookie** Cookie是由服务器端发送到客户端(浏览器)的一小段文本信息,用于在客户端和服务器之间传递状态信息。它...
Cookies的工作原理是,当用户访问一个网站时,服务器可以在响应中包含一个Cookie,这个Cookie会被存储在用户的浏览器中。当用户再次访问同一网站时,浏览器会自动将之前接收到的Cookie发送回服务器,这样服务器就...
这个方法的工作原理是,创建一个新的`HttpCookie`对象,并将它的`Expires`属性设置为当前时间减去一天,这样设置的Cookie在客户端会被视为过期并自动删除。然后,将这个过期的Cookie添加到响应中。如果整个过程没有...
在开发过程中,了解Cookie的工作原理及其在网络通信中的角色是必要的。Cookie通常由服务器发送到客户端(浏览器),并在后续的请求中由客户端返回给服务器,以此来保持会话状态。在易语言中,开发者可以通过API调用...
在这个"cookie实例"中,我们将深入探讨Cookie的工作原理、创建与管理Cookie的方法以及它们在实际应用中的重要性。 1. **Cookie的工作原理** Cookie由服务器在响应HTTP请求时发送到客户端(通常是Web浏览器),然后...
这里我们将深入探讨Cookie的工作原理、如何保存Cookie以及如何从Cookies中提取值。 1. **Cookie的工作原理**: - **创建Cookie**:服务器在响应HTTP头中通过Set-Cookie字段设置Cookie。例如,`Set-Cookie: ...
总的来说,Cookie编程是Web开发中不可或缺的一部分,理解和掌握Cookie的工作原理及其使用方法对于构建动态交互的网站至关重要。这篇博客和示例代码正好提供了这样一个学习平台,帮助开发者深入理解Cookie并提升技能...