Session和Cookie机制的区别

2/22/2017来源:ASP.NET技巧人气:847

会话(session)跟踪是 Web 程序中常用的技术,用来跟踪用户的整个会话 。 常用的会话跟踪技术是 Cookie 与 Session。Cookie 通过在客户端记录信息 确定用户身份,Session 通过在服务器端记录信息确定用户身份。
一.cookie 和 和  session  机制之间的区别和联系
具体来说 cookie 机制采用的是在客户端保持状态的方案。它是在用户端
的会话状态的存贮机制, 他需要用户打开客户端的 cookie 支持。 cookie 的作
用就是为了解决HTTP协议无状态的缺陷所作的努力.而 session机制采用的
是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到,由于
采用服务器端保持状态的方案在客户端也需要保存一个标识,所以 session
机制可能需要借助于 cookie 机制来达到保存标识的目的。 而 session 提供了
方便管理全局变量的方式。
二 session 是针对每一个用户的,变量的值保存在服务器上,用一个
sessionID 来区分是哪个用户 session 变量,这个值是通过用户的浏览器在访
问的时候返回给服务器,当客户禁用 cookie 时,这个值也可能设置为由 get
来返回给服务器。就安全性来说:当你访问一个使用 session 的站点,同时
在自己机子上建立一个 cookie, 建议在服务器端的 SESSION 机制更安全些.

因为它不会任意读取客户存储的信息。

三  正统的 cookie 分发是通过扩展 HTTP 协议来实现的,服务器通过在

HTTP 的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的

cookie。从网络服务器观点看所有 HTTP 请求都独立于先前请求。就是说每

一个 HTTP 响应完全依赖于相应请求中包含的信息。状态管理机制克服了

HTTP 的一些限制并允许网络客户端及服务器端维护请求间的关系。在这种

关系维持的期间叫做会话(session)。

Cookies 是服务器在本地机器上存储的小段文本并随每一个请求发送至

同一个服务器。 IETF RFC 2965 HTTP State Management Mechanism 是通

用 cookie 规范。 网络服务器用 HTTP 头向客户端发送 cookies, 在客户终端 ,

浏览器解析这些 cookies 并将它们保存为一个本地文件,它会自动将同一服

务器的任何请求缚上这些 cookies。