cookie的传递细节

xiongyinda 2012-07-07 05:04:07
呵呵,新手总是会问一些低级的问题,望大家帮忙,谢谢!
我弄不明白:cookie具体是如何交互的??
首先,我原先以为,只要在httpwebRequst(请求)对象中设置了一个全局的CookieContainer。以后每次发送数据使用这个CookieContainer就可以。然后再客户端和服务器在请求-应答的过程中自己接受和发送cookie。这样的话,如果不考虑到部分cookie在客户端需要修改的话,cookie传递没有问题。
但是我看到很多解释: httpwebRequst有个CookieContainer。如果设置为null的话,表示不接受服务器cookie。如果不为null。那么,HttpWebResponse对象的cookie就包含了从服务器端传回的cookie。 如果是这样。我们还需不需要把HttpWebResponse对象的cookie读出来,然后放在httpwebRequst对象的CookieContainer中去,然后再访问新的页面,是这样吗?
还或者,不管是怎么样。我们从HttpWebResponse对象的header中取出cookie。然后放入httpwebRequst对象的CookieContainer中。
到最后,我都不知道,httpwebRequst对象的CookieContainer对象到底是用于发送cookie给服务器呢,还是用于接收服务器传回来的cookie。或者是他既用于发送cookie,也用于接收cookie。
实在是太迷惑了,不知道在C/S交互过程中,cookie是如何交互的。
...全文
281 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
rayyu1989 2012-08-31
  • 打赏
  • 举报
回复
你应该去看 http协议

cookie的值在协议部分
Flashcom 2012-08-31
  • 打赏
  • 举报
回复
httpwebRequst的CookieContainer当然是用于发送的Cooke,它包含对应域的Cookie,当向对应域发送数据时,就会把对应域的cookie放到http头中,而HttpWebResponse,故明思意就是反回数据,它也包含一个cookie的容器,它表示当前返回的cookie,如果它返回的cookie跟httpwebRequst的CookieContainer中有重复就会修改httpwebRequst的CookieContainer的cookie,这样说应该明白了吧,所以如果你要读写cookie,就要对httpwebRequst的CookieContainer下手,因为读HttpWebResponse是不太可靠的,因为HttpWebResponse只是当前页的返回cookie并不一定是完整的,还有服务器可以利用502等返回代码跳转去隐藏一个跳转期间返回的Cookie(除非你设置httpwebRequst不自动中转而你写代码手动跳转),但httpwebRequst的CookieContainer就绝对包含了对某个域要发送的Cookie的所有值,但它不能直接读出所有的值,要靠函数传一个域进去读出来,如果你懂得去控制修改Cookie,HTTP协议是非常不安全的!
xiongyinda 2012-07-10
  • 打赏
  • 举报
回复
恩,我明白cookie是对一个数据集的暂存。这个数据集会伴随浏览器访问服务器接受和发送。我需要写个软件模拟浏览器与http服务器交互,因此需要在程序中自己接受和发送服务器传递给我的cookie。
因此想知道这中间的一些细节。
baizongjie 2012-07-08
  • 打赏
  • 举报
回复
cookie就是对一个数据集的暂存功能

xiongyinda 2012-07-07
  • 打赏
  • 举报
回复
呵呵,首先感谢sp1234!非常感谢。我来CSDN,今天下午开始发贴。两个帖子都只有你一个人回复。真的很感谢。
我遇到这些问题,其实查了很多网上的资料,可惜由于是初学,确实不怎么明白。你上面打的那个比方我都不是太明白,可以将具体一点吗?谢谢!
  • 打赏
  • 举报
回复
我给你打个比方吧。假设你家汽车可以坐人,你家人每天都乘着它去上班下班,那么还需不需要有个家了呢?有汽车是不是就行了呢?
xiongyinda 2012-07-07
  • 打赏
  • 举报
回复
自己顶!!!!!!!!!!!!!
xiongyinda 2012-07-07
  • 打赏
  • 举报
回复
SOS
xiongyinda 2012-07-07
  • 打赏
  • 举报
回复
help~~~~~~~~~~~~

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧