我的會話cookie有點長(約700字節),因爲它包含各種加密的用戶信息,而不是。我可以做一些事情來縮小這個尺寸,並且我也在從事這個角度,但這是另一個話題。有沒有辦法控制cookie發送到哪個URL?
我的問題是,我不喜歡這個cookie在每個HTTP請求中如何發送到服務器;包括對JPG圖像,CSS文件和靜態JavaScript文件的請求。由於這些請求不需要Cookie,我覺得它可能會減慢頁面加載時間,因爲這是700字節x頁面加載的資源數量。很明顯,這些文件會被緩存,但我仍然希望我的網頁儘可能快速,順暢地加載。
我能想到的一個解決方案是將我的所有靜態內容放在另一個子域上,如cdn.myserver.com/images/
和cdn.myserver.com/scripts/
,並將cookie路徑設置爲僅包含www.myserver.com
。我相信這會起作用,但它使開發和分期環境變得複雜。我可能會最終不得不動態生成URL根據代碼在運行正在什麼環境
我的問題:
除了上述方案中,有沒有什麼辦法來防止Cookie傳送通過網絡傳輸某些HTTP請求,例如圖像,腳本和樣式資源?
我在.NET堆棧上運行,使用IIS7.5作爲Web服務器。
是的,對於圖像我認爲使用CDN應該是明智之舉。對於腳本,我經常更改它們並在Visual Studio中運行應用程序,並且每次將腳本更改推送到CDN都是一件麻煩事。在運行生產環境時運行'localhost'和CDN時,我必須編寫一些指向本地URL的代碼。 –
@MikeChristensen這絕對是一種痛苦,但是,這是需要做的。你可以區分DEBUG或RELEASE構建?您可以在函數中使用'ifdef'並返回適當的URL。 – casperOne
是的,這將是某種'web.config'設置。腳本文件中提到的資源我認爲只要神奇地工作,只要腳本與它引用的資源位於相同的CDN上即可。只有非CDN資源上的URL必須是完全限定的,這些URL可以由代碼生成。 –