简述HttpResponse.SetCookie、HttpResponse.AppendCookie、HttpResponse.Cookies.Add三者的区别
来源:互联网 发布:apache web 压力测试 编辑:程序博客网 时间:2024/05/23 17:36
服务器向客户端发送设置Cookie时,可用HttpResponse.SetCookie、HttpResponse.AppendCookie、HttpResponse.Cookies.Add这三个家伙。
简单描述下他们的区别(注意红色部分):
HttpResponse.Cookies.Add:将 指定 cookie添加到Cookies集合,同key的cookie可以重复添加,总是添加而不是更新;
HttpResponse.AppendCookie:将 Http cookie追加加到Cookies集合,同key的cookie可以重复添加,总是添加而不是更新,它和HttpResponse.Cookies.Add的功能几乎一样,最大的区别是添加前后的事件和抛出的异常不尽相同。
HttpResponse.SetCookie:更新Cookies集合中第一个同key的cookie,如果找不到同key的cookie,则添加一个cookie到Cookies集合中。
在asp.net下使用时,它们有一个共同的异常:System.Web.HttpException 服务器无法在发送 HTTP 标头之后修改 cookie。
还是发些代码看下吧
输出给浏览器:
Set-Cookie: name=value5; path=/
Set-Cookie: name=value1; path=/
Set-Cookie: name1=value2; path=/
Set-Cookie: name1=value2; path=/
Set-Cookie: name=value3; path=/
Set-Cookie: name=value4; path=/
Set-Cookie: name=value5; path=/
Set-Cookie: name=value1; path=/
实际有效Cookie:
Cookie: name1=value2; name=value1
综上所述,如果对cookie的唯一性有绝对的要求,那么请使用HttpResponse.SetCookie而不是其它,以防止出现读取混乱。
另可参考http://stackoverflow.com/questions/15889371/difference-between-httpresponse-setcookie-appendcookie-cookies-add
转自http://aspxhtml.com/post-226
转载请注明:AspxHtml学习分享网 » 简述HttpResponse.SetCookie、HttpResponse.AppendCookie、HttpResponse.Cookies.Add三者的区别
- 简述HttpResponse.SetCookie、HttpResponse.AppendCookie、HttpResponse.Cookies.Add三者的区别
- HttpResponse
- HttpResponse
- HttpResponse
- HttpResponse httpResponse=null;
- HttpResponse的使用方法
- httprequest跳转和httpresponse跳转的区别
- HttpResponse java
- HttpResponse类
- Django-- HttpResponse
- HttpResponse 417
- HttpResponse对象
- HttpClient和HttpResponse的使用
- Gzip压缩的HttpResponse解析
- 服务器的两个对象:HttpResponse和HttpRequest
- 动态修改log4net的输出设置: HttpResponse
- HttpResponse的Output与OutputStream、Filter关系
- Django的HttpRequest和HttpResponse对象
- Ubuntu 安装软件时遇到过的问题整理
- luajit 2.1beta2 bytecode windows mac 下32 64编译文件
- 网站颜色设计
- apache kafka消息服务
- Android wpa_supplicant源码分析–扫描scan过程
- 简述HttpResponse.SetCookie、HttpResponse.AppendCookie、HttpResponse.Cookies.Add三者的区别
- Java Socket通信(TCP/UDP)
- MySQL修改root密码的多种方法
- C#泛型 泛型类扩展
- 如何分析三极管在电路中的作用
- proc means
- C# WebBrowser控件打开Echarts无效解决办法
- struts2中使用jQuery+ajax实现无刷新提交
- springMVC + myatis + quartz分布式集成问题