通过重写URL维护会话

时间:2011-06-23 12:13:00

标签: session cookies url-rewriting http-streaming

我正在开发一个支持HTTP Streaming和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

提前致谢。

1 个答案:

答案 0 :(得分: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 Rails Django 不允许您传递会话ID!

IE小组表示,没有计划改变这种行为(发送cookie)。