2011-06-23 81 views
1

我正在開發支持HTTP Streaming和WebSocket的JavaScript庫,jQuery Stream。當用戶的瀏覽器是IE8 +時,我使用XDomainRequest來執行HTTP Streaming,但有一個問題。通過重寫URL來維護會話

問題是用戶會話沒有維護,而是提供了新生成的會話,因爲XDomainRequest在向服務器發送數據時排除了Cookie。無論如何,最後我發現它可以通過重寫URL來解決。

所以,我想知道如何重寫URL以維護用戶會話在流行的服務器端技術,如.NET,PHP,Python和Ruby。

例如,在Java Servlet的

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

在此先感謝。

回答

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 Rails的Django的不允許你通過會話ID!

IE團隊表示沒有計劃改變這種行爲(發送cookies)。