2009-12-22 44 views

回答

1

我觉得没有区别?

1

Cookie由两个HTTP协议头控制 - Cookie和Set-Cookie。 Cookie头部用于HTTP请求,Set-Cookie头部用于HTTP响应。 Response.Cookie代表Set-Cookie头,而在JavaScript中,您主要控制Cookie集合的内部集合,其中(集合)用于以下HTTP请求的Cookie标头填充。

4

底层“cookie”本身没有区别,只有设置/读取它的方法。事实上,这两者都是在请求/响应头文件中发送到浏览器的客户端cookie。

区别在于cookie可以在客户端以javascript(例如使用document.cookie)或在ASP.NET内的服务器上操作(例如使用Request.CookiesResponse.Cookies)。实际上,如果你真的想,你可以在同一个cookie上混合使用ASP.NET和Javascript的cookie操作。

[顺便说一句 - 我假设你指的是ASP.NET。虽然你只在你的问题文本中说ASP,但问题被标记为ASP.NET]

2

有一个非常微小的差别。这是时间 - asp使用服务器时间和javascript使用来自访问者的PC。所以如果服务器时间不正确,就会有一个性能影响。例如:服务器时间为10:00(实时延迟5分钟),访客PC的时间为10:05。在这种情况下,cookie应该可以少活5分钟。 (我没有发明的参数,只是例子,来源“php power programing”)

除此之外,cookie的设置有一个显着的区别 - 只有服务器端编程语言可以设置httponly cookie wikipediaowasp - 客户端脚本无法访问cookie(JScrip/JavaScript等)。这使得它不易受XSS wikipedia的影响。

理论上更好地使用“asp cookie”。

0

我发现了两者之间的微小差异。 在一个网站中,我通过asp(经典asp)操作cookie,例如为了让用户知道哪些是他查看的项目,或者保存“向我发送有关此信息的更多信息”列表,以便用户在浏览时保存到cookies他想要的信息。

顺便说一句,当我调用函数来发送电子邮件,我想删除cookie,但如果我设置使用JavaScript的饼干,然后我做document.cookies的驱使我有这样的事情:

sendme =; ASPESSIONID ........ = ........; viewing = N01; lastvied = NA002; sendme =不适用%202322 ...

这很奇怪,也是因为,在稍后对该cookie进行任何引用时,我会始终采用第一个,似乎JavaScript将该cookie看作一个cookie ,而ASP可以看到JavaScript的没有问题...任何人都有同样的事情?