当前位置: 首页 > 后端技术 > Node.js

cookies和session的使用(详解)

时间:2023-04-03 10:28:09 Node.js

什么是cookie,用于在客户端存储一小段文字,是一种客户端技术,因为cookies是存储在客户端浏览器中,实现之间的通信客户端和服务器最先进的cookie技术并不安全,不要使用cookie来存储敏感信息!例如登录状态和登录信息;一些敏感数据应该存储在服务器端。cookie的价值从何而来?当您访问一个网站时,该网站的服务器代码会根据一些特定的服务来决定是否返回cookie。服务器会给你一个响应,响应的内容会有一个cookie。cookie的值是一段乱码,也就是所谓的sessionId。自动携带这个cookie值。默认情况下,cookie将在浏览器页面关闭后立即失效;如果要指定cookie的过期时间,需要实现expires属性constexpiresTime=newDate(Date.now()+3*1000).toUTCString()res.writeHeader(200,{"Content-Type":'text/html;charset=utf8',"Set-Cookie":['islogin=yes;expires='+expiresTime,'text=ok']})cookie应用场景1不需要高安全性2不需要需要存储大量数据3主要应用场景用于维护客户端和服务端之间的状态cookie和session会话的关系是服务端的状态保存机制结束状态保存机制当访问服务端为第一次,服务器会开辟一块空间存放用户信息。每次登录后,用户信息会以key-value的形式记录在session中,服务器会将sessionId(用户信息)保存在cookie中。客户端会将sessionID保存在本地的cookie中,并记录对应的网站。下次访问时,会带上sessionId。服务器会验证cookie的有效性来判断用户是否登录。图片说明了一切