假設我在一個設置了大量cookie的大型網站上有一個gwt應用程序,並且我無法控制哪些cookie被設置。進一步假設,我的gwt應用程序使用RequestBuilder
對同一個域內的輕量級API進行了多次REST調用(實際上必須這樣做)。使用RequestBuilder而不發送cookies
RequestBuilder
合理地向服務器發出HTTP請求,併發送所有收到的cookie。問題在於cookie本身有時會佔用請求大小的90%。
是的,如果網站沒有設置這麼多的cookie,但是認爲這是不可修復的,那將會很不錯。不,從瀏覽器中刪除cookie不是一個選項(如果他們完全無法從gwt應用程序訪問/隱藏,例如,如果我能以某種方式說服gwt應用程序使用單獨的空cookie jar,這很好)。
我該如何說服RequestBuilder
不是發送任何cookie?
注意解決這個XmlHttpRequest
幷包裝在GWT代碼將罰款。
東西我發現可能是有用的(一般爲JS而不是GWT,但GWT最終使用XmlHttpRequest
):
- Cookie Monster:該請求之前從
XmlHttpRequest
偷餅乾的觀察員已發送。我認爲這可能是Firefox特有的,這看起來有點像努力工作。 yourXMLHttpReq.channel.loadFlags |= Ci.nsIRequest.LOAD_ANONYMOUS;
:這將是非常完美的,保存它需要手術進入GWT,我認爲它的Firefox特定。- 這question,它處理Chrome擴展,其答案是要刪除和讀取所有的cookie(不適用於長時間運行的應用程序),或使用隱身窗口(我希望這隻會影響REST API調用)。
我認爲網絡存儲(HTTP: //www.w3schools.com/html/html5_webstorage.asp)不適合你。但我想提一提,因爲這是解決問題的另一種方法。存儲對象不會發送到服務器,反之亦然。 – Charmin 2015-02-07 16:04:19
@Charmin可悲的不是。典型的情況是,該應用程序在'app.foo.com'上,並且有一個'.foo.com'子域cookie-fest。 – abligh 2015-02-07 17:40:24