好了,並且我還自認為這是乙個比較標新立異的想法。
但是,資料量很大,cookie的大小、數量都是有限的,於是我去網上看了一下cookie的具體限制:
internetexplorer現在
cookie
限制為每個網域名稱50個
firefox
每個網域名稱
cookie
限制為50個。
opera
每個網域名稱
cookie
限制為30個。
safari/webkit
貌似沒有
cookie
限制。但是如果
cookie
很多,會導致錯誤發生。
firefox
和safari
允許cookie
多達4097
個位元組,包括名(
name
)、值(
value
)和等號。
opera
允許cookie
多達4096
個位元組,包括:名(
name
)、值(
value
)和等號。
internetexplorer
允許cookie
多達4095
個位元組,包括:名(
name
)、值(
value
)和等號。
恩,看來單個cookie的限制是4kb,對於我的專案來說肯定不夠,因為我那乙個條目就有16kb,總共有n多個條目。後來我權衡了一下,將資料條目做了適當的分割,然後就決定
32個cookie,每個cookie最大3kb來儲存資料快取,這樣可能不夠直觀,看看下面的cookie檔案就可以:
大家看一下,我的那個cookie是不是特別顯眼,特別奇葩,它的身材絕對讓它所有的小夥伴都自愧不如了,我也不管那麼多,決定就用這個cookie做快取了,因為它還沒有超過瀏覽器網域名稱下cookie的限制嘛
之後測試執行的結果似乎一切正常,看來雖然這個cookie的體積是比較另類,但它確實發揮了作用。但接著測下去問題就暴露出來了:伺服器直接給出了404錯誤。
具體是這樣的:我的這個cookie檔案是通過伺服器目錄裡的檔案 server\buffer.html 檔案建立的,當測試到一半時候,這個檔案就變成了404頁面,而且更奇怪的是,整個server目錄裡的所有頁面通過瀏覽器訪問時都變成了404頁面,真是奇了怪,這個目錄裡的所有檔案都毫髮無損地好好地待在那兒呢,怎麼會出現404?後來我又嘗試將瀏覽器快取(不包括cookie)清空,將伺服器重啟等辦法,但是那個目錄裡的檔案依然全部是404。最後,我抱著不甘心的心態將那個體積臃腫的cookie刪掉後,問題就解決了,目錄裡的檔案恢復正常。
思考整個前因後果,伺服器的邏輯應該沒什麼問題,很顯然,客戶端56kb的cookie才是罪魁禍首,這樣一來,我使用cookie做快取的計畫便宣告破產。
我覺得我當初用cookie做快取的初衷是好的:這樣可以將服務端的資料操作搬到本地來進行,如此就不受網速等外在因素影響,可以提高使用者體驗。但是目前瀏覽器操作本地檔案的比較安全穩定的方法就只有cookie了,如果用js操作本地檔案之類肯定會出現許可權問題,沒有通用性,現在cookie計畫宣告失敗,只好將快取的處理搬到伺服器上了,唉~
我是這麼利用資料 肥肉吃多了會膩
就像肥肉吃多了會膩,領導們對於決策權這個東西,掌權的多了,也會感覺到沒意思和鬧心。我們都知道這樣的乙個道理 幫領導解決棘手的事情,才能讓領導幫你解決薪資的事情。哎,太直白了!所以我經過多年的思考,並嘗試過一些做法,今天來和大家說道說道。首先我們從邏輯上理理思路 領導有很多東西需要拍板,他其實很煩!你...
聊一聊小甜餅
cookies程式設計 cookie是儲存在客戶端的小文字,儲存的位置分為兩種 cookie可能儲存在客戶端瀏覽器的所佔記憶體中,關閉瀏覽器後,cookies就不再存在。cookie也可能儲存在客戶pc機的硬碟上,設定有效時間,超過有效時間後失效。cookie的常見應用 簡化登入 很多 在登入時,可...
軟體裝多了 電腦執行速度為什麼會變慢?
電腦軟體裝多了 執行速度為什麼會 軟體都是裝在硬碟上的 電腦是在記憶體中執行的 軟體裝多了 那麼電腦執行為什麼會變慢呢 原因有三 第一 軟體裝多了 那麼硬碟佔的資源就比較多了 那麼建立虛擬記憶體 就比較耗時了 第二 軟體裝多了 有些軟體即使你不執行他 他也會在後台執行一些程序的 第三 軟體裝多了 那...