【问题标题】:Maintaining session by rewriting URL通过重写 URL 来维护会话
【发布时间】:2011-06-23 12:12:59
【问题描述】:

我正在开发一个支持 HTTP 流和 WebSocket 的 JavaScript 库,jQuery Stream 。当用户的浏览器是 IE8+ 时,我使用 XDomainRequest 执行 HTTP Streaming,但是有一个问题。

问题是没有维护用户的会话,而是提供了新生成的会话,因为 XDomainRequest 在向服务器发送数据时排除了 cookie。无论如何,最后我发现可以通过重写URL来解决。

所以,我想知道在流行的服务器端技术(如 .NET、PHP、Python 和 Ruby)中如何重写 URL 以维护用户会话

例如,在 Java Servlet 中

/event-stream // by cookies
/event-stream;jsessionid=(The value of JSESSIONID contained in cookies) // by rewriting URL

提前致谢。

【问题讨论】:

    标签: session cookies url-rewriting http-streaming


    【解决方案1】:

    Java

    /event-stream
    /event-stream;jsessionid=(The value of JSESSIONID contained in cookies)
    

    http://download.oracle.com/javaee/5/tutorial/doc/bnagm.html

    PHP

    /event-stream
    /event-stream?PHPSESSID=(The value of PHPSESSID contained in cookies)
    

    http://www.php.net/manual/en/session.idpassing.php

    ASP.NET

    /(app name)/event-stream
    /(app name)/(S(The value of ASP.NET_SessionId contained in cookies))/event-stream/
    

    http://msdn.microsoft.com/en-us/library/aa479315.aspx

    Ruby on RailsDjango 不允许您传递会话 ID!

    IE 团队表示没有计划改变这种行为(发送 cookie)。

    【讨论】:

      猜你喜欢
      • 2013-02-04
      • 2016-11-04
      • 1970-01-01
      • 2018-04-29
      • 2010-12-17
      • 2018-06-09
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      相关资源
      最近更新 更多