cookie 用法

比如建立一个名为aspcn,值为灌水小鱼的cookie

HttpCookie cookie = new HttpCookie["aspcn"];
cookie.Value = "灌水小鱼";
Response.AppendCookie(cookie);

取出Cookie值也很简单

HttpCookie cookie = Request.Cookies["aspcn"];
cookieValue = cookie.Value;

在一个Cookie中储存多个信息,那也没有问题。比如在名为aspcn的cookie下加多个信息

HttpCookie cookie = new HttpCookie("aspcn");
cookie.Values.Add("webmaster","灌水小鱼");
cookie.Values.Add("writer","beige");
cookie.Values.Add("LinkColor","blue");
Response.AppendCookie(cookie);

取出信息也一样简单

HttpCookie cookie = Request.Cookies["aspcn"];
value1 = cookies.Values["webmaster"];
value2 = cookies.Values["writer"];

 

Request.Cookies.Clear()这个方法并不是删除Cookie
删除 Cookie(即从用户的硬盘中物理移除 Cookie)是修改 Cookie 的一种形式。
由于 Cookie 在用户的计算机中,因此无法将其直接移除。
但是,可以让浏览器来为您删除 Cookie。
该技术是创建一个与要删除的 Cookie 同名的新 Cookie,
并将该 Cookie 的到期日期设置为早于当前日期的某个日期。
当浏览器检查 Cookie 的到期日期时,浏览器便会丢弃这个现已过期的 Cookie。
下面的代码示例演示删除应用程序中所有可用 Cookie 的一种方法:

CODE:

1. HttpCookie aCookie;
2. string cookieName;
3. int limit = Request.Cookies.Count;
4. for (int i = 0; i < limit; i++)
5. {
6. cookieName = Request.Cookies[i].Name;
7. aCookie = new HttpCookie(cookieName);
8. aCookie.Expires = DateTime.Now.AddDays(-1);
9. Response.Cookies.Add(aCookie);
10. }

 

 

 

 

 

cookies过期时间

Response.Cookies("user_name").Expires=Date+1 ’指定cookie保存时间

保留COOKIES一个小时
Response.Cookies("MyCookie").Expires= (now()+1/24)

Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now())


Response.Cookies("CookieName").Expires=DateAdd("m",60,now())
设置60个月以后过期

Response.Cookies("User").expires=second()+7
在expires后面定义的时间可以用时间函数代替
例如:date()+7就表示在今天的时间上加上7天,而second()+7则是7秒了。

Response.Cookies("字段名").expires=时间函数+N,例如:
Response.Cookies("name2").expires=date+1,表示Cookies保存1天,再比如:
Response.Cookies("name2").expires=Hour+8,表示Cookies保存8小时。
这种方法我测试过不行(在2003server,iis6.0中),不管second后面有无加(),访问时会出现500错误(还是无法显示网页?忘了)。


织梦尤文:这里的时间累加建议还是使用DateAdd函数,比如我们要累加一小时,则使用:
Response.Cookies("baidooglecom").expires = DateAdd("h", 1, Now())

30分钟:
Response.Cookies("CookieName").Expires=DateAdd("n",30,now())

dateadd("S",30,now()) 得到秒


Expires 指定 cookie 的过期日期。为了在会话结束后将 cookie 存储在客户端磁盘上,或在许多时候,我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。
若此项属性的设置未超过当前日期,则在任务结束后 cookie 将到期。
cookie的使用到期时间为“2010年1月1日”: Response.Cookies("CookieName").Expires=#January 01, 2010#
cookie的过期时间为“cookie的创建时间+365天”:Response.Cookies("CookieName").Expires=Date+365 推荐的
但最好不要随便写 Response.Cookies("CookieName").Expires=Date,这样页面之间的调用时值会为空。
<think>好的,我现在需要帮助用户了解cookie的基本用法、语法和场景。首先,我需要回忆之前学过的相关知识,并结合提供的引用内容来组织回答。 用户的问题是关于如何使用cookie及其基本语法和场景。根据引用内容,特别是引用[2]和引用[3],cookie是通过HTTP头在客户端和服务器之间传递的,也可以通过JavaScript的document.cookie属性来操作。需要先解释cookie的基本概念,然后分别说明服务器端和客户端的设置方法。 首先,我应该介绍cookie的作用,比如保持用户状态、跟踪会话等。然后,分服务器端和客户端两种情况说明如何设置和读取cookie。在服务器端,例如使用PHP或Node.js,设置响应头。在客户端,使用JavaScript的document.cookie属性。 接下来是基本语法部分。根据引用[2],document.cookie的赋值语法需要包括键值对以及属性如path、expires等。例如,设置一个名为username的cookie,值设为'john',有效期1天,路径为根目录。同时,要提到如何读取cookie,即document.cookie返回所有cookie字符串,需要自己解析。 然后是应用场景,参考引用[1]和引用[3],cookie常用于会话管理、用户偏好设置、跟踪用户行为。不过需要注意cookie的安全性,比如HttpOnly和Secure标记,敏感信息不应存储在cookie中。 另外,用户可能对cookie与session的区别感兴趣,引用[2]和引用[3]提到了两者的区别,可以简要提及,但用户的问题主要是cookie本身,所以可能放在相关问题。 需要确保使用正确的LaTeX格式,比如行内公式用$...$,独立公式用$$...$$,但这可能涉及代码示例,所以代码部分用代码块。同时,生成相关问题,根据引用内容,可能涉及cookie与本地存储的对比、cookie与session的区别、JSON的使用(引用[4])等。 检查引用标记是否正确添加,每个引用点末尾自然标注[^n]。比如在提到服务器端设置cookie时引用[2],在应用场景提到对比时引用[1]。 最后,确保回答结构清晰,分点说明,代码示例正确,语法正确,使用中文。用户可能需要具体例子,所以代码示例使用JavaScript和PHP,并说明每个参数的作用。 现在,整理这些思路,组织成回答,并生成相关问题。</think>### Cookie的基本用法与语法解析 Cookie是一种在浏览器端存储数据的机制,主要用于跟踪用户会话、保存用户偏好设置等。以下是具体用法和场景分析: --- #### 一、Cookie的基本用法 1. **服务器端设置Cookie** 服务器通过HTTP响应头`Set-Cookie`向浏览器发送Cookie数据,例如PHP代码: ```php <?php setcookie("username", "john", time() + 3600*24, "/"); ?> ``` - 参数说明: - `username`: Cookie名称 - `john`: 值 - `time()+3600*24`: 过期时间(1天后) - `/`: 作用路径(全站有效)[^2] 2. **客户端JavaScript操作Cookie** - **设置Cookie** ```javascript document.cookie = "theme=dark; expires=Fri, 31 Dec 2024 12:00:00 UTC; path=/"; ``` - **读取Cookie** ```javascript const allCookies = document.cookie; // 返回所有Cookie字符串,需自行解析 ``` --- #### 二、Cookie的核心语法 - **键值对格式**:`key=value`,多个属性用分号分隔。 - **常用属性**: - `expires`:过期时间(UTC格式) - `path`:允许访问Cookie的路径 - `Secure`:仅通过HTTPS传输 - `HttpOnly`:禁止JavaScript访问(防XSS攻击) --- #### 三、典型应用场景 1. **会话管理** 保存用户登录状态,例如Session ID通过Cookie传递[^3]。 2. **个性化设置** 存储用户主题、语言偏好等。 3. **用户行为跟踪** 记录用户浏览历史,用于数据分析[^1]。 --- #### 四、注意事项 - **安全性**:敏感信息(如密码)不应存储于Cookie。 - **大小限制**:单个Cookie通常不超过4KB,域名下总数有限(约50个)[^1]。 - **替代方案**:若需更大存储或本地缓存,可使用`localStorage`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值