Cookie是什么?用法是怎样?与SESSION有什么区别?(二)

  二session 简介

  IE中:

  有效的窗品包括

  1.Session对象只在建立Session对象的窗口中有效。

  2.在建立Session对象的窗口中新开链接的窗口

  无效的窗口包括

  1.直接启动IE浏览器的窗口

  2.不是在建立Session对象的窗口中新开链接的窗口

  NetScape中:

  只要一个窗口有了某个Session对象,则全部窗口对此Session都有效

  Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。

  这个唯一的SessionID是有很大的实际意义的。当一个用户提交了表单时,浏览器会将用户的SessionID自动附加在HTTP头信息中,(这是浏览器的自动功能,用户不会察觉到),当服务器处理完这个表单后,将结果返回给SessionID所对应的用户。试想,如果没有 SessionID,当有两个用户同时进行注册时,服务器怎样才能知道到底是哪个用户提交了哪个表单呢。当然,SessionID还有很多其他的作用,我们会在后面提及到。

  除了SessionID,在每个Session中还包含很多其他信息。但是对于编写ASP或ASP.NET的程序与来说,最有用的还是可以通过访问 ASP/ASP.NET的内置Session对象,为每个用户存储各自的信息。例如我们想了解一下访问我们网站的用户浏览了几个页面,我们可能在用户可能访问到每个的页面中加入:

  通过以下这句话可以让用户得知自己浏览了几个页面:

  可能有些有些读者会问:这个看似像是数组的Session(“..”)是哪里来的?需要我定义吗?实际上,这个Session对象是具有ASP解释能力的的WWW服务器的内建对象。也就是说ASP的系统中已经给你定义好了这个对象,你只需要使用就行了。其中Session(“..”)中的..就好像变量名称,Session(“..”)=$$中的$$就是变量的值了。你只需要写上句话,在这个用户的每个页面中都可以访问..变量中的值了。

  其实ASP一共内建了7个对象,有Session、Application、Cookie、Response、Request、Server等。在其他的服务器端脚本语言如JSP、PHP等中也有其类似的对象,只是叫法或者使用方法上不太一样。

  ASP Session的功能的缺陷

  目前ASP的开发人员都正在使用Session这一强大的功能,但是在他们使用的过程中却发现了ASP Session有以下缺陷:

  进程依赖性:ASP Session状态存于IIS的进程中,也就是inetinfo.exe这个程序。所以当inetinfo.exe进程崩溃时,这些信息也就丢失。另外,重起或者关闭IIS服务都会造成信息的丢失。

  Session状态使用范围的局限性:刚一个用户从一个网站访问到另外一个网站时,这些Session信息并不会随之迁移过去。例如:新浪网站的 WWW服务器可能不止一个,一个用户登录之后要去各个频道浏览,但是每个频道都在不同的服务器上,如果想在这些WWW服务器共享Session信息怎么办呢?

  Cookie的依赖性:实际上客户端的Session信息是存储与Cookie中的,如果客户端完全禁用掉了Cookie功能,他也就不能享受到了Session提供的功能了。

  鉴于ASP Session的以上缺陷,微软的设计者们在设计开发 ASP.NET Session时进行了相应的改进,完全克服了以上缺陷,使得ASP.NET Session成为了一个更加强大的功能。

  三 区别

  Session是存在服务器端的;而Cookie是存在客户端的!!

  Session更不需要Cookie来支持和不会受浏览器端的设置影响,可记录每个访问者的信息,独立在服务器端,比Cookie安全!

  Session是存在内存中的,浏览器关闭它也就“死”了;Cookie是以文件方式存在的,可以修改其“存活”时间。

时间: 2024-07-29 09:38:11

Cookie是什么?用法是怎样?与SESSION有什么区别?(二)的相关文章

Cookie是什么?用法是怎样?与SESSION有什么区别?(一)

Cookie是什么?用法是怎样?与SESSION有什么区别? 一 Cookie简介 因特网的Cookie技术极其简单,却有着旺盛的生命力.Cookie开始引起众人的注意是从2000年二月份随着网络隐私权的提出开始的,有关的辩论至今仍在继续.从另一方面来说,Cookie使得浏览网页更容易了.几乎所有的主要的网站设计者都使用了Cookie,因为他们想为浏览网站的人提供一个更好的浏览环境,同时也能更加准确地收集访客的信息. 一家颇有影响的报纸上曾刊登了一篇很有深度的关于网络隐私的文章,上面对于Cook

艾伟_转载:Cookie是什么?用法是怎样?与SESSION有什么区别?(二)

二session 简介 IE中: 有效的窗品包括 1.Session对象只在建立Session对象的窗口中有效. 2.在建立Session对象的窗口中新开链接的窗口 无效的窗口包括 1.直接启动IE浏览器的窗口 2.不是在建立Session对象的窗口中新开链接的窗口 NetScape中: 只要一个窗口有了某个Session对象,则全部窗口对此Session都有效 Session是什么呢?简单来说就是服务器给客户端的一个编号.当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网

cookie机制和session机制的区别

  一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案. 同时我们也看到,由于在服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择 二.会话cookie和持久cookie的区别 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了.这种生命期为

thinkphp3.x中cookie方法的用法分析_php实例

本文实例分析了thinkphp3.x中cookie方法的用法.分享给大家供大家参考,具体如下: 一.cookie函数也是一个多元化操作函数,完成cookie的设置.获取和删除操作. Cookie 用于Cookie 设置.获取.删除操作: 用法: cookie($name, $value='', $option=null) 参数:  name(必须):要操作的cookie变量 value(可选):要设置的cookie值 option(可选):传入的cookie设置参数,默认为空 返回值 见详(根据

thinkphp3.x中cookie方法的用法分析

本文实例分析了thinkphp3.x中cookie方法的用法.分享给大家供大家参考,具体如下: 一.cookie函数也是一个多元化操作函数,完成cookie的设置.获取和删除操作. Cookie 用于Cookie 设置.获取.删除操作: 用法: cookie($name, $value='', $option=null) 参数: name(必须):要操作的cookie变量 value(可选):要设置的cookie值 option(可选):传入的cookie设置参数,默认为空 返回值 见详(根据具

.net中的session与cookies区别及使用方法_实用技巧

先介绍一下比较简单的使用方法: 给COOKIES赋值 复制代码 代码如下: Response.Cookies["uid"].Value = "20"; Response.Cookies["LoginCode"].Value = "58469"; 以上就是分别对两个COOKIES变量赋了两个不同的传,那么在使用COOKIES时,我们怎样来控制COOKIES的有效期呢,看下面:  复制代码 代码如下: Response.Cooki

php function用法如何递归及return和echo区别

 这篇文章主要介绍了php function用法如何递归及return和echo区别,需要的朋友可以参考下  代码如下: <?php  //模拟sql数据  $array = array(0=>'apple',1=>'banana',2=>'cat',3=>'dog',4=>'egg','5'=>'father');    //function 用法1  //arr 是传入的数据 $con 是条件  function f_1($arr,$con){  //这里的

rtsp-利用live555完成RTSP客户端编写,不明白session与subsession区别

问题描述 利用live555完成RTSP客户端编写,不明白session与subsession区别 各位大神,我在看别人写的liv555客户端代码的时候,遇到点问题不是太明白,想请教一下: 1.在客户端向服务器发送完DESCRIBE之后,接受到服务器返回的SDP信息之后,不是应该利用这个SDP信息完成SESSION会话的建立嘛? 我的理解是之后只要发送"SETUP,PALY"就可以开始通过UDP接收流数据啦,但是我发现客户端源码内多了一个步骤: 从上面的截图可以看到,首先是通过返回的S

在PHP3中实现SESSION的功能(二、COOKIE函数库:cookie.inc.php3)(转译)

cookie|session|函数 <?phpif (!isset($__cookie_inc__)){$__cookie_inc__=1;function JsSetCookie($CName,$CValue,$CExpr=FALSE){ // 这个函数允许你在HTML头标记之后设置cookie ,// 可以作SetCookie函数的补充,甚至代替. // $CName.....: cookie 的名字// $CValue....: cookie 的值// $CEXpr.....: cooki