2015-06-15 37 views
2

我正在使用Jersey 2.17。我想在客戶端實現以下場景:是否有任何Jersey客戶端設置可以允許重新發送帶有重定向的cookie?

  1. 我的Jersey客戶端向某個URL發送請求;

  2. 服務器將返回一個帶有Set-Cookie: abc=def標題的HTTP 301(這是給出的,我們不必擔心);

  3. 我的Jersey客戶端遵循重定向;

  4. 我的Jersey客戶端在第二個請求(到重定向目標)中設置了abc=def cookie。

重定向工作正常,所以第3步不是問題。 我不知道的是,如果cookie處理是可能的,因爲我需要它。有人知道嗎?

+0

你想要進行的cookie的領域是什麼?它是否總是與重定向的目的地相同的域? –

+0

你的意思是jsersey不會在第二個請求中設置cookie?真? – ZhongYu

+0

@MattBall,讓我們假設現在是一樣的。這是我感興趣的,即使這兩種情況的答案都會很好;) –

回答

0

如果cookie域與重定向的URL域相同,則只要客戶端接受並遵守第一個Set-Cookie,就不需要再次發送cookie。

如果這些域不一樣,這聽起來像是一種安全風險:Cookie故意將範圍限定在特定的域(或域集合),並且在其外公開cookie會泄漏潛在敏感信息。因此Cookie 不應該在跨域重定向時被重新傳輸。

+1

謝謝作爲迴應,但我認爲我必須澄清一個小方面:cookie不包含在最初的請求中。它應該由第一個HTTP響應(301)設置,並由Jersey客戶端和第二個請求(重定向目標)一起發送。 –

+0

您寫道:「只要客戶接受並尊重第一個Set-Cookie」。這正是我的問題:澤西客戶能夠尊重Cookie嗎? –

+1

@AndreiNicusan - 我敢打賭。你測試過了嗎? – ZhongYu

相關問題