学生一枚,作为学习和总结。如果有哪些不对的地方,还请指教
cookie
诞生
HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。
为解决这个问题,有了cookie出现
cookie介绍
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),(通知浏览器设置一下cookie),浏览器自动会将Cookie以进行保存(以key/value的形式)。当下次请求同一网站时也会自动发送该Cookie给服务器,即添加在请求头部。
存放在浏览器端
原理即代码实现
const http = require("http")
http.createServer((req, res) => {
// 观察cookie是否存在 如果存在就打印cookie
console.log('cookie:', req.headers.cookie)
// 设置cookie
res.setHeader('Set-Cookie', 'cookie=abc;')
res.end('hello cookie!!')
}).listen(3000)
复制代码
结果展示
为什么会有两次?
第一次 请求的时候 发现没有cookie,就进行了设置
第二次请求,发现有cookie了,就直接输出了
session
基于cookie 实现,存放在服务端
里面只存一个cookieId,其他的保存在服务器中
代码即原理展示
// principle
const http = require("http")