在经典ASP中,当我使用Response.Cookies设置cookie时(" data1")=" value1"然后 我能够在同一页面上使用Request.Cookies(" data1")阅读此cookie
但是当我使用语法Response.AddHeader" Set-Cookie"," data2 = value2"然后 我无法在同一页面上使用Request.Cookies(" data2")阅读此cookie。
那么设置cookie的这两种语法之间有什么区别?如果我想使用第二种语法读取cookie,那么read语句应该是什么样的
答案 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()
后往返服务器。