2011-03-01 100 views
1

我有一個是這樣一個用例:如何重定向HTTP有效載荷?

 
1- A user logs-in to a FIRST server (via a web form of some sort). 
2- This FIRST server establishes the user connection. 
3- The FIRST server sends a URL redirection to the user. 
4- The user's browser will point to SECOND server. 

這是它目前尚不清楚什麼是在我的頭實際上是可行的。

瀏覽器重定向可以發送一個HTTP POST有效載荷/ GET到重定向的網址?比方說:

 
5- SECOND server recieves POST in servlet to process the payload 
public void doPost(HttpServletRequest req, HttpServletResponse resp) 
    throws ServletException, IOException { 
    ... 
} 

什麼是真正回事,是我有2臺服務器。 FIRST建立連接併發回一個令牌(包括安全評估,用戶信息和內容)。此標記需要以某種方式轉發給SECOND,它將解析此標記(XML流)以「知道」用戶。

我我完全地瘋了嗎?

Thx。

回答

2

這取決於哪種重定向你正在做的。如果您只使用「位置」標題,則只能傳遞GET負載。

現在,爲了發送更多數據,您需要編寫一個指向第二個服務器的<Form>(可能隱藏)的臨時頁面(可能爲空),並且會自動自動提交自己(使用Javascript例如)。該表單將能夠將任何數據發佈到第二臺服務器。

請在將令牌從一臺服務器發送到另一臺服務器時考慮安全問題,並確保人們無法猜測或複製這些令牌,或者兩臺服務器通過另一種方式進行通信以確保所有客戶端都是合法的。

+0

好的,謝謝你的洞察力。我被要求產生能夠得到令牌的「東西」,並且我可以解析它。我很確定它會通過URL重定向或POST,但是有了重定向,我仍然需要令牌負載,因此是POST。 – 2011-03-02 02:56:52