在前端面試中,有乙個必問的問題:請你談談cookie和localstorage有什麼區別啊?
http最大的特點是無連線無狀態,使用cookie和session的技術就是為了解決這個問題,簡單來說,就是讓瀏覽器在一段時間內認識你。
cookie是當你瀏覽某個**的時候,由web伺服器儲存在你的機器硬碟上的乙個小的文字檔案。它其中記錄了你的使用者名稱、密碼、瀏覽的網頁、停留的時間等等資訊。當你再次來到這個**時,web伺服器會先看看有沒有它上次留下來的cookie。如果有的話,會讀取cookie中的內容,來判斷使用者,並送出相應的網頁內容,比如在頁面顯示歡迎你的標語,或者讓你不用輸入id、密碼就直接登入等等。
當客戶端要傳送http請求時,瀏覽器會先檢查下是否有對應的cookie。有的話,則自動地新增在request header中的cookie欄位。注意,每一次的http請求時,如果有cookie,瀏覽器都會自動帶上cookie傳送給服務端。那麼把什麼資料放到cookie中就很重要了,因為很多資料並不是每次請求都需要發給服務端,畢竟會增加網路開銷,浪費頻寬。所以對於那設定「每次請求都要攜帶的資訊(最典型的就是身份認證資訊)」就特別適合放在cookie中,其他型別的資料就不適合了。
1.名字的由來:
cookie--小甜品的意思,為啥起這個個名?因為在網頁中可能會出現 :你好胖梅,這會讓我們感覺很親切,就好像吃了乙個小甜品一樣開心(汗。。)
--- 我們所說的cookie 就是瀏覽器的快取
2.驗證cookie的存在----演示效果:
(1)開啟谷歌搜尋京東,隨便將乙個商品加入購物車:
2)然後關閉谷歌瀏覽器,再重新開啟谷歌,搜尋京東並且檢視購物車,看商品還在嗎?在
說明了什麼:說明我新增的這個購物的資訊,它的資訊被存在了乙個地方,所以才能讀取的到啊。。 那麼這個資訊存**了呢?前台還是後台呢? 不知道啊,都有可能的。。
(3)關閉谷歌,打**狐,搜尋京東然後檢視購物車,商品還在嗎?不在
說明了啥?這個資料肯定不是儲存在後台或者資料庫了,要是在後台或者資料庫 ,兩個瀏覽器肯定都可以獲取到的。
所以只能說明,剛才的那個資料儲存在谷歌瀏覽器上了,儲存在**呢?就是谷歌瀏覽器的快取--cookie
在客戶端訪問某個位址時,會將請求交到伺服器進行處理,在傳送請求的時候,瀏覽器會將頁面的頭部資訊 一併發送交到伺服器進行處理。在處理的過程中,cookie會在伺服器端生成,在伺服器端處理完成後,隨著http響應,在響應頭中加上cookie資訊 瀏覽器接受到響應後,會按照http響應頭的cookie在客戶端建立cookie ,在下次客戶進行請求的時候,http會附帶已經存的cookie 一併發送到伺服器
1、記憶體cookie
由瀏覽器來維護,儲存在記憶體中,瀏覽器關閉之後就消失了,存在時間短暫
2、硬碟cookie
儲存在硬碟中,有乙個過期時間,除非使用者手動清除或者到了過期時間,硬碟cookie不會被刪除,其存在時間是長期的瀏覽器cookie的檢視
cookie使用場景
永久登陸
購物車等等
php語法:
設定:setcookie(key,vlaue,time,path);
讀取: $_cookie['']
前端語法:
設定:document.cookie='key=vlaue;expires=gmt時間;path=/';
key:鍵名
value:鍵值 獲取的賬號 密碼...
expires:過期時間 需要是gmt時間togmtstring() / toutcstring()推薦使用
path:存在的路徑
注意:1.儲存不能出現中文 encodeuricomponent(內容)
2.過期時間 格林尼治時間 toutcstring()
讀取:document.cookie
前端設定cookie:
前端獲取cookie
ofstream的讀取是有順序
include include include 目的在於從number.txt檔案中讀取數字,並比較大小 將結果輸入end.txt using namespace std int main int argc,char argv int score 5 max,i ifstream outf outf...
js儲存cookie與讀取cookie
設定cookie param name param value function setcookie name,value path引數巨坑!一般設定之後頁面都可以訪問cookie,否則只能在乙個頁面。功能 獲取cookies函式 引數 cookie name名字 function getcooki...
cookie讀取設定name
cookie就是k v形式,可以理解為乙個hashmap cookie就是k v形式,可以理解為乙個hashmap cookie就是k v形式,可以理解為乙個hashmap 建立乙個無生命週期的cookie,即隨著瀏覽器的關閉即消失的cookie,如下12 下面建立乙個有生命週期的cookie,可以...