2012-10-21 56 views
0

我有一個REST的完整安裝程序,其中一個PHP服務器通過XML發送REST請求到另一個Python服務器會話。我想在python服務器上實現會話,以便在認證之後,後續請求不必發送認證信息。如何PHP(通過擴展Apache)的管理客戶端,如

我已經實現了Python位和使用Web瀏覽器進行測試。它工作正常。然而,從一個PHP腳本到說蟒蛇服務器執行的請求似乎因爲每個打印出SESSION_ID,我得到爲每個請求新值時創建一個新的會話。

所以我的問題是,我怎麼可以讓PHP(Apache)的服務器保持狀態的會話,就像正常的瀏覽器呢?

+0

的可能重複[捲曲 - 需要使用不同的腳本相同的會話cookie(http://stackoverflow.com/questions/10271485/curl-need-to-use-same-session-cookie-in-different-腳本) – mario

回答

0

從另一個問題讀取與一個類似的問題,

無國籍這意味着Web服務器沒有任何狀態存儲有關客戶端。這並不排除Web服務器與維護關於業務對象狀態的其他服務,而不是關於客戶端連接狀態。客戶端狀態不應該存儲在服務器上,而是傳遞給需要它的每個人。這就是REST中的ST來自State Transfer。你轉移狀態而不是讓服務器存儲它。這是擴展到數百萬用戶的唯一途徑。

會話管理的負載在所有客戶端之間攤銷,客戶端存儲他們的會話狀態,服務器可以以無狀態的方式服務一個數量級或更多的客戶端。

The other question here

因此,所有的一切,儘可能有可能是「黑客」和「變通辦法」對於這個問題,似乎從根本上,REST全請求之間保持狀態的服務器端否定了原有的建築設計。