- 27
- 0
- 约1.76千字
- 约 12页
- 2017-11-24 发布于河南
- 举报
了解Cookie
了解Cookie与Session ―补充知识 Cookie概述 Cookie为Web应用程序保存用户相关信息提供了一 种有用的方法。例如,当用户访问站点时,可以利用Cookie保存用户首选项或其他信息,这样,当用户下次访问站点的时候,应用程序就可以检索以前保存的信息。 Cookie概述 从技术上讲, Cookie是一小段保存在客户端的数据(如果你安装的是XP,可以看一下系统盘:\Documents and Settings\用户名\Cookies文件夹)。用户访问网站的时候,网站会给用户一个包含过期时间的Cookie,浏览器受到Cookie后就存放在客户端的文件夹下。以后用户每次访问网站的时候,浏览器会根据网站的URL在本地Cookie文件夹内查找是否存在当前网站关联的Cookie,如果有的话就连同页面请求一起发送到服务器。 Cookie概述 在使用Cookie时,必须意识到其固有的安全隐患。 Cookie毕竟是存放于客户端的。因此,不要在Cookie中保存保密信息,如用户名、密码、信用卡号等。在Cookie中不要保存不应该由用户掌握的内容,也不要保存可能被其他窃取Cookie的人控制的内容。 Session概述 Session是什么呢? 简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串。 Cookie与Session的联系 通常情况下,SessionID会存放在客户端的Cookies内,当用户访问ASP.NET网站任何页面的时候,SessionID将通过Cookie传递到服务器端,服务器根据SessionID的值对用户进行识别,以返回对应该用户的Session信息。 Cookie 与Session的区别 Session是存在服务器端的;而Cookie是存在客户端的!! Session更不需要Cookie来支持和不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务器端,比Cookie安全! Session是存在内存中的,服务器重启它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”时间。 Session的有效范围 IE中: 有效的窗口包括:1.Session对象只在建立Session对象的窗口中有效。 2.在建立Session对象的窗口中新开链接的窗口 无效的窗口包括 : 1.直接启动IE浏览器的窗口 2.不是在建立Session对象的窗口中新开链接的窗口 ASP Session的缺陷 进程依赖性: Session状态存于IIS的进程中,也就是inetinfo.exe这个程序。所以当inetinfo.exe进程崩溃时,这些信息也就丢失。另外,重起或者关闭IIS服务都会造成信息的丢失。 ASP Session的缺陷 Session状态使用范围的局限性: 当一个用户从一个网站访问到另外一个网站时,这些Session信息并不会随之迁移过去。例如:新浪网站的WWW服务器可能不止一个,一个用户登录之后要去各个频道浏览,但是每个频道都在不同的服务器上,如果想在这些WWW服务器共享Session信息怎么办呢? ASP Session的缺陷 Cookie的依赖性: 实际上客户端的Session信息是存储与Cookie中的,如果客户端完全禁用掉了Cookie功能,他也就不能享受到了Session提供的功能了。 ASP.NET Session 的产生 鉴于ASP Session的以上缺陷,微软的设计者们在设计开发 ASP.NET Session时进行了相应的改进,完全克服了以上缺陷,使得ASP.NET Session成为了一个更加强大的功能。 ASP.NET Session信息除了可以存放在ASP.NET进程之中外,还可以存放在状态服务器或者SQL Server数据库中。 * * *
原创力文档

文档评论(0)