Response.Cookies和Response.AddHeader" Set-Cookie"之间的区别

时间:2016-05-09 12:55:59

标签: cookies asp-classic

在经典ASP中,当我使用Response.Cookies设置cookie时(" data1")=" value1"然后 我能够在同一页面上使用Request.Cookies(" data1")阅读此cookie

但是当我使用语法Response.AddHeader" Set-Cookie"," data2 = value2"然后 我无法在同一页面上使用Request.Cookies(" data2")阅读此cookie。

那么设置cookie的这两种语法之间有什么区别?如果我想使用第二种语法读取cookie,那么read语句应该是什么样的

1 个答案:

答案 0 :(得分:1)

两种方法都设置了HTTP标头

set-cookie

但有一个关键的区别。

Response.Cookies是预先构建的集合,然后当响应准备好发送时,会创建HTTP标头set-cookie。这意味着,对于指定了Cookie集合的页面的生命周期,可以根据需要操作这些值。

Response.AddHeader()在将响应发送回客户端时设置HTTP标头set-cookie,它与Response.Cookies()完全没有关联并设置

Response.AddHeader("set-cookie", "...")

不会神奇地填充Response.Cookies集合。在不使用Cookies的情况下填充Response.Cookies()集合的唯一方法是在设置Response.AddHeader()后往返服务器。