Cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个Web站点会话之间持久地保持数据。Request和Response对象都有一组Cookie。Request.cookie集合是一系列Cookie,从客户端与HTTP Request一起发送到Web服务器。反过来,如果你希望把Cookie发送到客户机,就可以使用Response.Cookies.
1、Expires属性
该属性可以赋一个日期,过了这个日期Cookie就不能再被使用了。通过给Expires属性赋一个过期的日期,就可以删除Cookie。如:
<%Response.cookies("passtime").Expires=DateAdd("m", 1, NOW)%>
这样设置Cookie在一个月后过期。
2、Domain属性
该属性定义Cookie要传送的唯一域。如:Cookie只传送给Microsoft的人,则可以使用以下代码。
<%Response.Cookies("domain").Domain="http://www.microsoft.com/"%>
3、ASP用来写入Cookie即向客户机发送Cookie的语法如下:
Response.Cookies("Cookie名").[("键名").属性]=内容
如果某个ASP文件要创建一个Cookie,则下面的代码可以放在ASP文件的第一个<html>之前,以避免产生错误.
<%Response.Cookies("CookieName")="NewCookie" %>
<html>
......
</html>
4、同样ASP用Request对象的Cookies集合来读取Cookie,如:
<%Response.write Request.Cookies("CookieName")%>
下面以一个完整的例子来说明Cookie:
<%
dim Num
Num=Request.Cookies("Visit_num")
if Num>0 then
Num=Num+1
Response.write "您已是第" & Num & "次访问本站点了。"
else
Response.write "欢迎您首次访问本站。"
Num=1
end if
Response.Cookies("Visit_num")=Num
%>
在该例子中,首先读取Cookies变量Visit_num,看用户端计算机是否保存有Cookies变量。如果有该变量,则说明用户已经访问过该页面,同时输入出访问次数。如果用户是首次访问该页面,则其计算机内不会有Cookies变量,程序会显示“欢迎”字样,然后将Cookies变量Visit_num存到用户计算机中,以便该用户下一次访问该页面时给出“访问的次数”信息。
5、Cookie字典
有时在一个页面中可能需要定义很多个Cookies变量,为了更好地管理它,在Cookies组件中常引入一人的概念“子键”。引用它的语法如下:
Request.Cookies("变更名")("子键名")
如下面的Cookie创建一个名为"Dictionary"的字典,其中保存了三个键值:
<%
Response.Cookie("info")("Myname")="jeff"
Response.Cookie("info")("Gender")="male"
Response.Cookie("info")("Myheight")="172"
%>
事实上客户机上的Cookie字典是以字符串的形式存在:
info=Myname=jeff&Gender=male&Myheight=172
如果用户没有指定“子键”名而直接引用Cookies变量,将会返回一个包含所有的“子键”名及值的字符串。例如上面这个例子包含三个“子键”:"Myname"、"Gender"和"Myheight",当用户没有指定其“子键”而直接通过Request.Cookies("info")来引用时,则会得到下列字符串:
info=Myname=jeff&Gender=male&Myheight=172
如果要把Cookie中读取的所有数据,可以用下面的代码得到:
<%For each cookie in Request.Cookies
if Not cookie.HasKeys then
Response.write cookie & "=" & Request.Cookies(cookie)
Else
for each key in Request.Cookies(cookie)
Response.write cookie&"("&key&")"&"="& Request.Cookies(cookie)(key)
next
end if
next
%>
常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
1.在同一应用服务器内共享的方法:设置cookie.setPath("/");
设本机tomcat/webapp下面有两个应用:cas和webapp_b
1)原来在cas下面设置的cookie,在webapp_b下面获取不到,
path默认是产生cookie的应用的路径。
2)若在cas下面设置cookie的时候,增加一条:
cookie.setPath("/");或者cookie.setPath("/webapp_b/");
就可以在webapp_b下面获取到cas设置的cookie了。
3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/webapp_b/"),是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的cas应用也不可以。
4)设置cookie.setPath("/webapp_b/jsp/")的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
5)设置cookie.setPath("/webapp_b/"),是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用cas下面获取cookie了。
6)有多条cookie.setPath("XXX");语句的时候,起作用的以最后一条为准。
7)设置多个path的方法???
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com");
A机所在的域:home.langchao.com,A有应用cas
B机所在的域:jszx.com,B有应用webapp_b
1)在cas下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。
2)这个参数必须以“.”开始。
3)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。
4)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享。
5)设置多个域的方法???
分享到:
相关推荐
**JavaScript Cookie 使用详解** 在Web开发中,JavaScript的全局变量在不同页面间通常是无法共享的,但是有一种机制——Cookie,可以实现跨页面的全局数据存储。Cookie是由浏览器提供的功能,它允许JavaScript通过`...
### Cookie使用详解 #### 一、什么是Cookies? Cookies是一种由Netscape开发的工具,用于在用户的硬盘上存储信息,以便Web服务器能够识别特定的用户。由于HTTP协议本身是无状态的,即每次请求和响应都是独立的,...
### Python爬虫使用Cookie登录详解 #### 前言 在进行网络爬虫开发时,经常会遇到需要登录后才能访问的网页。此时,利用Cookie机制能够有效地帮助爬虫完成登录并抓取数据。本文将详细介绍如何使用Python的`urllib`库...
并且在Cookie详解这篇文章中,介绍了如何在服务器端和使用JavaScript创建Cookie,并设置属性。 我们知道,Cookie是存储在客户端的,并且现在前后端分离慢慢变得流行起来,因此如何在浏览器上可以使用方便快捷的...
本文主要讲解如何使用`curl`进行表单登录和提交,以及如何处理和利用`cookie`信息。表单登录通常涉及向服务器发送用户凭证(如用户名和密码),以便验证身份。在某些情况下,这个过程可以通过`curl`命令完成,但需要...
java web cookie 详解
### Cookie详解 #### 一、会话跟踪技术概述 会话跟踪是Web开发中的关键环节之一,用于确保用户的每次操作都被正确地关联到相应的会话中。常见的会话跟踪技术主要包括Cookie与Session。 #### 二、Cookie机制 ####...
Cookie 详解 Cookie 是一种在 Web 应用程序中存储用户特定信息的方法。它是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。Cookie 包含每次用户访问站点时 Web 应用程序都可以读取的信息。 ...
### Cookie与Session机制详解 #### 一、Cookie与Session的概念及区别 在Web开发中,为了保持用户的状态信息,通常会用到两种技术:Cookie和Session。这两种技术都是用来跟踪用户的浏览活动,但它们的工作原理有所...
在前端使用axios发送请求时,如果不进行特殊配置,跨域请求默认是不会携带cookie的。为了使axios在跨域请求时携带cookie,需要在axios的配置中设置`withCredentials`为`true`。这一配置的含义是指示axios在跨域请求...
PHP中的Cookie使用详解 Cookie是服务器在客户端浏览器中保存用户信息的一种方式,它的作用类似于给用户贴上了一个标签,以便服务器能够记住该用户。使用Cookie,可以实现自动登录、记住用户设置、跟踪用户活动等...
Cookie、Session机制详解 Cookie机制是Web程序中常用的技术,用来跟踪用户的整个会话。Cookie通过在客户端记录信息确定用户身份。Cookie机制可以弥补HTTP协议的无状态特性,使服务器可以从客户端获取用户信息,以便...
### JSP处理Cookie的方法详解 #### 一、Cookie概述与基本概念 Cookie是Web服务器向浏览器发送的小型数据块,用于存储用户特定的信息,以便在后续的请求中使用。每个网站可以设置最多20个Cookie,每个Cookie的大小...
### Session与Cookie详解 #### 一、Session与Cookie的基本概念 **Session** 和 **Cookie** 是Web开发中用于保持客户端与服务器之间会话状态的重要技术。由于HTTP协议本身是无状态的,即服务器无法自动记录客户端的...
根据提供的文件信息,以下是对文件《Cookie,Session,Token详解.pdf》中知识点的详细解读: 1. Cookie的相关知识 1.1 Cookie不是缓存。它是由服务器创建并存储在客户端的一小段文本信息,通常以字典(键值对)的...
### Java Cookie 的使用详解 #### 一、Cookie简介 在Java Web开发中,Cookie是一种用于在客户端存储数据的技术。它通常被用来跟踪用户状态或存储用户的偏好设置等信息。Cookie可以方便地帮助开发者实现诸如登录...
### PHP Cookie 与 Session 详解 #### 一、PHP Cookie **1. Cookie 的基本概念** - **名称和值**:每个 Cookie 都有一个名称和一个值,名称用于唯一标识该 Cookie,而值则用来存储信息。例如,可以通过设置一个...