cookie和Session和token

今天来说下cookie、Session、token

大家在学习HTTP协议的时候,都看到说HTTP协议是无状态的,无状态是什么意思呢,就是一次请求、响应和下一次请求、响应是没有联系的,服务器不知道上下文关系

所以产生了cookie这个概念,cookie就是浏览器(客户端)向服务器发送请求时会携带的一个东西,这样服务器就会识别客户端的身份了,cookie是怎么产生的呢,是服务器产生cookie发送给客户端,由客户端保存cookie

cookie具有以下属性:名称、值、有效期、域、路径

cookie默认的有效期是浏览器关闭后就失效,即会话cookie,保存在浏览器内存中,相比下有种持久性cookie,是保存在硬盘上,设置有效期,过期后失效

cookie的域和路径是决定cookie的范围

cookie存在的问题是客户端保存不安全,信息容易被修改

session的概念由此产生,session是服务器端保存机制,即客户端(浏览器)向服务器发送请求时,服务器会生成一个ID保存一些信息,返回给客户端这个ID,以后客户端继续访问服务器时,只需携带这个ID即sessionID,一般通过cookie传送 sessionID,如果浏览器禁止cookie,可以通过以下两种方式:1.通过URL重写2.服务器修改表单隐藏字段

session保存在服务器内存中,如果超过一定时间没有访问服务器,session就失效了,然而存在的问题就是服务器内存压力很大,并且负载均衡场景下不适用

token是一种身份认证机制,token机制不需要服务器存放用户登录信息,即用户通过服务器认证后,服务器会生成一个token返回给客户端,以后客户端只需携带这个token,服务器校验成功后即可认证通过,token要设置有效期,每次服务器会检查token的有效期

为了保证安全性,客户端应该对token进行加密保存并且使用https协议,放在post body中传输

你可能感兴趣的:(安全,session,cookie)