cookie,token和session
1.cookie
1.1 什么是cookie?
cookie是服务器产生的并且保存在客户端.
其本质是保存在客户端的一小段文本信息,以键值对的形式存在.
其名称由开发自定义.
1.2 cookie的分类
会话级cookie:保存在内存,当浏览器关闭时自动失效.
持久化cookie:保存在硬盘,只有当它的失效时间到了才会失效.
1.3 cookie的格式
{name:值,value:值,Domain作用域:值,path:值,expires到期时间:值,size:值}
1.4 cookie数据传输的原理
客户端和服务器之间传输,基于http协议.
请求头cookie
响应头set-cookie
当客户端第一次向服务器发送请求时,服务器就会在响应中通过set-cookie将cookie信息传递给客户端.
客户端拿到cookie后保存.
当客户端第二次向服务器发送请求时,会在请求中通过cookie将信息传递到服务器.
1.5 cookie的作用
记住用户登录状态,购物车的状态.
主题风格之类的个性化设置.
2.session
2.1 原理
用户首次登录后,服务器就会生成一个会话标识sessionid,并且保存在服务器内存中,默认生命周期一般为20minute.然后这个sessionid会通过cookie发送给客户端,然后客户端将sessionid保存.并且sessionid是通过会话级的cookie去保存和传输的.
如果服务器要保存所有的sessionid,即使是单点登录也会崩溃.
而且sessionid也可以被伪造.
所以更好的放法——token
3.cookie和session的区别
<1>cookie数据存放在客户的浏览器上,session数据放在服务器上.
<2>cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session.
<3>session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie.
<4>单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie.
<5>可以将登录信息等重要信息存放为session;其他信息需要保存,可以放在cookie.
4.token
4.1 原理
用户登录后,服务器生成了一个令牌(token),保存在服务器的文本文档或者数据库中,通过表单的方式来传输,不是通过cookie.客户端和服务器之间的token验证形成一中约束,这种约束是人为加密的.
4.2 加密方式
对称加密解密:DES_AES
双钥加密解密:RSA
只加密不解密:MD5,SHA系列****

                
            
        
浙公网安备 33010602011771号