我想將用戶點擊的數據存儲在一個不需要去服務器的cookie中。它就像會話添加的數據一樣,我想持續保留會話,因爲數據只是不斷添加到cookie中,並且存儲了很長時間,並且只有在用戶刪除瀏覽歷史記錄時纔會被刪除。該cookie是純粹客戶端的唯一cookie,並且它永遠不必去服務器,因爲我不需要服務器上的用戶生成的數據,所以我想擺脫Cookie在創建之間來回發送的額外開銷瀏覽器和服務器。是否有可能實現這一目標?客戶端只有cookie - 沒有去過服務器的cookie
回答
如果瀏覽器兼容性是一個問題,您可以使用一些JavaScript來包裝各種不同的技術。舊版本的IE支持(supprise supprise)一個名爲userData的專有版本的localstorage(我不認爲它完全一樣,但應該做你需要的)。
像http://www.jstorage.info/或https://github.com/marcuswestin/store.js這樣的包裝腳本應該做你需要它做的事情。
非常感謝@Bulk,我會給這個鏡頭。但個人而言,我更喜歡瀏覽器獨立的cookie解決方案,在這種情況下,我的失敗案例將被擊倒爲兩個 - 瀏覽器對Cookie執行大小限制,並在瀏覽器上禁用Cookie(用戶數據/本地存儲也可以類似地禁用並猜這個失敗案例可以排除)。 –
我不能肯定地說,我99%肯定沒有基於「餅乾」的解決方案,但隨時保持尋找:) –
我100%確定沒有辦法強制cookies僅僅作爲客戶端,他們總是發送到服務器。然而,有可能做相反的事情:通過在Cookie上設置HttpOnly標誌,服務器端只有cookie(javascript無法讀取)。
我知道這對你來說有點遲,但這個答案適用於所有有同樣問題的人。
1)使用HTML5,您可以使用web storage。
2)(只是一個主意! - 未經測試!) 您可以定義一個cookie(通過客戶端上的javascript)並設置「安全」屬性。 在這種情況下,cookie將僅通過HTTPS連接發送到服務器。 爲了確保餅乾永遠不會離開瀏覽器,你只是不打開一個HTTPS連接;-)
更新:
你也可以簡單地將cookie的路徑設置爲實際上沒有一個路徑存在。
document.cookie="name=value;path=/notExistingPath";
使用一個不可能的路徑設置cookie:
document.cookie = "cookieName=...; expires=... ; path=/never_reached/ablkappmqlnahsuia";
- 1. 客戶端Cookie
- 2. SignalR服務器到客戶端只有
- 3. 堅持瀏覽器客戶端JavaScript/HTML數據沒有cookie
- 4. CORS - 服務器端cookie沒有在chrome瀏覽器上保存
- 5. 服務器上的cookie不等於客戶端
- 6. 不Forms.SetAuthenticationCookie把服務器或客戶端上的cookie?
- 7. 獲取客戶端來自PHP棘輪WebSocket服務器的Cookie
- 8. WebDAV:迷你重定向器客戶端 - 擁有自己的(只讀?)Cookie存儲?使用同一個cookie的域的Web服務器和WebDAV的服務器:
- 9. Racket中的客戶端Cookie
- 10. 如何從客戶端發送cookie到服務器?
- 11. 有沒有客戶端+服務器端MVC JS框架
- 12. 偶然的422錯誤:客戶端沒有發送會話cookie?
- 13. 休息Jersey客戶端如何通過cookie的所有請求
- 14. Android客戶端/服務器,客戶端沒有收到所有數據
- 15. 向Web服務端口客戶端添加cookie
- 16. HTTP客戶端Cookie c#
- 17. 客戶端緩存vs Cookie
- 18. 服務器Cookie?
- 19. 服務器端按鈕只有當客戶端返回確認
- 20. 檢查日期不是過去,客戶端和服務器端
- 21. 沒有端口轉發的Java客戶端 - 服務器連接?
- 22. c - 具有多個客戶端的UDP客戶端服務器
- 23. 具有多個客戶端的Java服務器客戶端
- 24. 在服務器端設置的cookie在客戶端(ASP.NET)中不可訪問
- 25. asp.net/javascript創建cookie,創建客戶端或服務器端的優勢?
- 26. JAX-WS客戶端:維護跨多個服務的會話/ Cookie
- 27. 客戶端cookies是否可以被所有人訪問,並且服務器端是否有cookie
- 28. 訪問服務器端的Cookie
- 29. 只有第一個cookie放在服務器上,其他幾個cookie不要
- 30. 有沒有人仍然使用客戶端服務器架構
你能告訴我們你已經嘗試了代碼? –
根據目標瀏覽器,你可以看看localStorage - http://paperkilledrock.com/2010/05/html5-localstorage-part-one/ – Archer
'localstorage'已被排除,因爲我需要支持所有瀏覽器主要的。馬克 - 我已經實現了所有功能,除了「純粹的客戶端只有cookie」。我使用適當的名稱 - 值對,過期日期和使用代碼在quirksmode上找到的路徑創建cookie。我能夠使用javascript來控制cookie。只是我無法實現「僅客戶端cookie」部分。我希望你有我的問題? –