1.為什么使用cookie?
因為HTTP是無狀態協議。簡單地說,當你瀏覽了一個頁面,然后轉到同一個網站的另一個頁面,服務器無法認識到,這是同一個瀏覽器在訪問同一個網站。每一次的訪問,都是沒有任何關系的。
那么就亂套了,比如我上一次訪問,登陸了,下一次訪問,又讓我登陸,不存在登陸這事兒了。所以我們需要一個東西把我的登錄記錄給記錄下來。cookie 就達到了這個效果。
Cookie是一個很簡單的想法,當我訪問一個頁面的時候,服務器在下行(res)HTTP報文中,命令瀏覽器存儲一個字符串;瀏覽器再訪問同一個域的時候,將把這個字符串攜帶到上行(req)HTTP請求中。
那也就說明第一次訪問是不帶cookie的,必須服務器再次得到這個請求,在下行的報文中攜帶這個cookie,以后瀏覽器向這個服務器發送的請求,都會攜帶這個cookie。
cookie有着幾個優缺點
● cookie是不加密的,用戶可以自由看到;
● 用戶可以刪除cookie,或者禁用它
● cookie可以被篡改
● cookie可以用於攻擊
● cookie存儲量很小。未來實際上要被localStorage替代,但是后者IE9之后的版本兼容。
2.怎么使用cookie
第一步需要下載第三方包 cookie-parser npm install cookie-parser
第二步 在服務端引入
第三步 設置和讀取cookie,只能在res中設置,req中讀取。
我們可以看到 第一次輸入時 得到的是個空對象 第二次輸入是 就有效果了