Response.Cookies和Response.AddHeader之间的差异;设置Cookie";

Response.Cookies和Response.AddHeader之间的差异;设置Cookie";,cookies,asp-classic,Cookies,Asp Classic,在经典的ASP中,当我使用Response.Cookies(“data1”)设置cookie时,那么 我可以在同一页上使用Request.Cookies(“data1”)读取此cookie 但是当我使用语法Response.AddHeader“Set Cookie”,“data2=value2”时 我无法使用同一页上的Request.Cookies(“data2”)读取此cookie 那么,设置cookie的这两种语法之间有什么区别呢?如果我想使用第二种语法读取cookie,那么read语句看起

在经典的ASP中,当我使用Response.Cookies(“data1”)设置cookie时,那么 我可以在同一页上使用Request.Cookies(“data1”)读取此cookie

但是当我使用语法Response.AddHeader“Set Cookie”,“data2=value2”时 我无法使用同一页上的Request.Cookies(“data2”)读取此cookie


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

设置cookie
但有一个关键的区别

Response.Cookies
是一个预构建的集合,当响应准备好发送时,就会创建HTTP头
set cookie
。这意味着在指定了
Cookie
集合的页面生命周期内,这些值可以根据需要进行任意操作

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

Response.AddHeader(“设置cookie”,“…””)

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

这两种方法都设置了HTTP头

设置cookie
但有一个关键的区别

Response.Cookies
是一个预构建的集合,当响应准备好发送时,就会创建HTTP头
set cookie
。这意味着在指定了
Cookie
集合的页面生命周期内,这些值可以根据需要进行任意操作

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

Response.AddHeader(“设置cookie”,“…””)

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

这是因为
Response.AddHeader
在响应过程中添加头(数据返回到客户端)而
Response.Cookies
在发送响应之前预先构建集合,然后在发送响应时设置
set cookie
HTTP头,这意味着在发送响应之前,有时间修改cookie集合。这是因为
Response.AddHeader
在响应期间添加头(数据返回到客户端)而
Response.Cookies
在发送响应之前预先构建集合,然后在发送响应时设置
set cookie
HTTP头,这意味着在发送响应之前,有时间修改cookie集合。