1

我正在开发一个支持 HTTP Streaming 和 WebSocket、jQuery Stream的 JavaScript 库。当用户的浏览器是 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

提前致谢。

4

1 回答 1

1

爪哇

/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)。

于 2011-07-01T06:04:19.793 回答