最近看一本web编程方面的书中提到,
客户第一次访问一个web页面时,服务器引擎同时将这个ID号发送到客户端,存放在cookie中。这样sesison对象和客户之间就建立起了一一对应的关系。那么,按上面的廉洁,如果客户端禁用了cookie,那不是连session也不能用吗?感觉好象有点不对,请高手指教???????我记得以前看书时是说到session是不存放在服务器端时,当时心里就有一个疑问。那就是服务器如何将session与特定客户联系起来呢?  我觉得上面那个web编程书中提到的做法是对的,但是如果这样的话,那岂不是session的使用会被客户端的cookie设置所影响了吗?????

解决方案 »

  1.   

    应该是每次浏览器请求都向服务器发送一个标识吧同一个浏览器下打开本窗口新窗口都不会导致Session失效,可见Session是对客户端的一个标识。这个有服务器端决定,客户端根本用不着cookie
      

  2.   

    session是存放在服务器端的,在客户端它在Httphandler中.客户端禁用了cookie不会影响它的使用.
      

  3.   

    是的,因为Session是基于Cookies的,如果客户端禁止了Cookies的话Session确实不能使用,
    但可以在Web.config中设置Cookieless=true;这样就会将SessionID保存到url中.
      

  4.   

    Session的内容是保存在服务器端,但SessionID是保存在客户端Cookies或Url中的
      

  5.   

    who is right???1. session是存放在服务器端的,在客户端它在Httphandler中.客户端禁用了cookie不会影响它的使用.2. 是的,因为Session是基于Cookies的,如果客户端禁止了Cookies的话Session确实不能使用,
    但可以在Web.config中设置Cookieless=true;这样就会将SessionID保存到url中.
    新的问题,httphandler是什么东东,谁能解释一下?
      

  6.   

    在Web.config中设置Cookieless=true当用户对启用了不依赖于会话的Web站点发出第一个请求时,那么请求的URL就自动地被改写成为包含该用户的会话id,此会话id将作为URL的一部分来传递比如,如果用户请求http://www.mysite.com/mypage.aspx
    那么该请求就自动改为http://www.mysite.com/(dljfajdo2u3u0jd092i1)/mypage.aspx
    括号内为当前用户的会话id
      

  7.   

    查了一下资料:
    HttpHandler 主要是在服务器端,对aspx页面进行特定处理的,好象跟客户端没什么关系吧?
      

  8.   

    to:amandag(高歌)
    这只是在aspx中的处理方式,那如果在jsp或其它动态网页中呢? 如果客户端禁用了cookie那么到底还能不能用session呢? 哪果能用,它可以以什么别的机制来运行呢?当然,你已经提到了在aspx中的处理机制!