node学习所有的源码都在我的github仓库中https://github.com/samdidemo/nodejs
cookie和session
session是基于cookie的,当我们访问浏览器时,第一次访问时,一般服务器会往cookie里面添加sessionid,然后每次浏览器访问服务器时,服务器根据sessionid便可以查出用户的信息,当然,往cookie添加什么都可以,不一定是sessionid
添加完的cookie就不是空的了,而是{"sessionid":"xxxxxxxxxxxxxxxxx"}类似这样的
往cookie里面添加数据
首先,安装express,express-static,cookie-session,cookie-parser
npm install cookie-parser cookie-session express-static express
然后新建server.js
const express=require('express')
const cookieParser=require('cookie-parser')
const expressStatic=require('express-static')
var server=express()
server.use('/nodejs',function(req,res){
res.cookie('username','linyongbin')
res.send('welcome nodejs')
})
//加了path之后,cookie只能在/lin路径下才能访问,maxAge是cookie的存活时间,单位是毫秒
server.use('/lin',function(req,res){
res.cookie('age',16,{path:'/lin',maxAge:15*1000})
res.send('welcome lin')
})
server.listen(8080)
访问8080/nodejs端口,可以看到welcome nodejs,并且在cookie里面可以看到插入的数据
cookie数据加密
server.get('/lin/secret',function(req,res){
req.secret='s9udbgeusdne2123'//添加秘钥,随便写什么
res.cookie('password','linyongbin',{signed:true})//把签名signed设置为true
res.send("cookie加密")
})
可以看到密码已经加密