#### cookie
- 特點
- 1.兼容所有瀏覽器
- 2.存放的內容少,4kb,瀏覽器會限制一個站點最多可以存放20個cookie
- 3.不安全,重要信息最好不要存放在cookie上
- 4.cookie容易被安全衛士等軟件清除
- 5.有過期時間
- 6.不是嚴格的本地存儲,獲取cookie時,保證服務器和客戶端保持連接,讀取cookie也要經過HTTP處理
- cookie的應用
```
let http=require('http');
let url=require('url');
let querystring=require('querystring')
http.createServer(function(req,res){
let {pathname}=url.parse(req.url,true);
res.setHeader('Content-type','text/html;charset=utf-8')
//當客戶端訪問的路徑是/write的話就表示寫cookie
if (pathname=='/visit'){
let cookie=req.headers.cookie;
let visit=1;
if (cookie){
//cookie並不是真正的查詢字符串,所以不同字段的風格符是; ,而不是&,所以在解析的時候要注意傳入字段分隔符
let cookieObj=querystring.parse(cookie,'; ')
if(cookieObj.visit){
// + 字符串轉數字的意思
visit=(isNaN(+cookieObj.visit)?0:parseInt(+cookieObj.visit))+1
}
}
res.setHeader('Set-Cookie',`visit=${visit}`)
res.end(`顧客歡迎你第${visit}次來`)
}else{
res.end('404')
}
}).listen(8081);
```
> queryString擴展
> 原理:利用&把字段分開,再用等號把鍵和值分開
> 參數:參數1-》要分隔的內容 參數2:以什麼進行分割
> 有兩個方法:querystring.parse() querysting.stringfy()
```
let str='id=1&age=3';
let querystring=require('querystring')
let obj=querystring.parse(str,'&’)//&是默認的分隔符
```