可能重複:
Is it possible to know if browser has cookies enabled on the very first access發現如果瀏覽器支持在服務器端的cookie
我使用的HttpOnly使用在客戶端的JavaScript這是無法訪問的cookie。 我希望瞭解瀏覽器是否僅在第一個請求中支持cookie。 是否有可能從http請求中獲取此信息?
可能重複:
Is it possible to know if browser has cookies enabled on the very first access發現如果瀏覽器支持在服務器端的cookie
我使用的HttpOnly使用在客戶端的JavaScript這是無法訪問的cookie。 我希望瞭解瀏覽器是否僅在第一個請求中支持cookie。 是否有可能從http請求中獲取此信息?
如果你想從服務器端決定一個請求,實際的客戶端是否支持HTTP cookie保存,那麼不幸的是答案是否定的,你不能。
儘管您可以在第一個請求中發送HTTP cookie,並在第二次檢查cookie是否已保存。但請注意,這並不能保證cookie的到期時間設置已被接受。
因此,例如,您希望存儲一年的HTTP cookie,但客戶端只接受會話cookie。在這種情況下,在第二個請求中,您將看到您的cookie,但如果用戶關閉了瀏覽器,則在接下來的請求中將不會有cookie。
您需要兩個來自瀏覽器的請求來設置一個測試cookie和其他來讀取它,但如果第一個請求返回重定向,則可以自動執行第二個請求。
+1爲重定向。 –
但我想知道它在第一次訪問。 得到了答案。不可能 – Shurmajee
在第一個請求中找不到方法,唯一可以做的是假設客戶端接受基於用戶代理的Cookie,因此可以丟棄某些客戶端,例如搜尋器,但這並不能保證任何內容。 – 2012-10-01 09:04:57
在第一次初始聯繫(像用戶之前從未訪問您的網站或清除所有cookie) - 不。但是,如果您發送帶有第一個響應的cookie,則會分析該cookie是否與下一個請求一起返回。如果用戶最近訪問了您的網站並啓用了Cookie,那麼您可以在本次會話中通過第一次請求檢測到它。
一般來說,下一個請求是任何請求 - 它可能是一個圖像或CSS文件引用由第一個請求加載的內容。
你在服務器上使用了什麼技術? – 2012-10-01 08:54:37
Enterprise Java – Shurmajee
你使用servlets,JSP,JAX-RS,JAX-WS,...嗎? – 2012-10-01 08:56:56