我正在开发一个支持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
提前致谢。
答案 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)。