⑴ php cookie技術圖文講解教程
Cookie介紹
Cookie是客戶端技術,當客戶端請求伺服器時,隨身攜帶數據過去。想像我們去超市購物,買很多東西,超市會給我們辦會員卡,會員卡保存我們購買的商品信息,以後只需要拿著會員卡就可以。
Cookie原理介紹
當客戶端請求伺服器時,伺服器會告訴瀏覽器在自己身上做一個標記(cookie),這樣以後瀏覽器再訪問時,讀取cookie文件中的信息。
Cookie應用場景
場景1:最近瀏覽過哪些商品?使用cookie實現,點擊瀏覽的商品保存到cookie文件,再訪問時讀取。
場景2:登錄時,如果選擇記住用戶名、下次自動登錄,保存本次登錄成功的用戶名到cookie中,下次輸入框讀取。
Cookie基本使用(增刪改查)
創建cookie(增加)使用setcookie()函數,參數包括:保存的cookie變數名稱、值、有效期、有效路徑、有效域名、是否只允許在https協議下使用、是否只允許在http協議下傳輸。
讀取cookie的數據
讀取cookie通過$_COOKIE超全局數組實現。
修改cookie如果給同一個cookie變數重新賦值,就是修改,且有效期從修改時間重新計算。
刪除cookie將cookie的有效期設置為過期,同時刪除$_COOKIE超全局數組中的cookie變數。
Cookie應用案例
顯示用戶訪問時間,如果是第一次訪問伺服器,顯示第一次訪問時間;如果不是第一次訪問,顯示上次訪問時間。
Cookie細節
每個域名下最多創建20個cookie,每個cookie最多存儲4K左右的數據。setcookie前面不能有任何輸出,否則違反HTTP協議。
為了測試,需要關閉php的ob緩沖,在php.ini中關閉。
⑵ F5刷新store數據丟失問題
1.原因:store的數據是保存在運行內存中的,當頁面刷新時,頁面會重新載入vue實例,store里的數據就會被還原,重新賦值
2.解決方案實現原理:
(1)將state里的數據保存一份到本地存儲(localSorage、sessionStorage、cookie)中
(2)讓頁面在刷新之前存store中的值到localStorage中。頁面數顯時再將localStorage中的數據重新賦值到store中,讀取和存儲都放在以下文件中實現,監聽頁面的刷新前和刷新之後