cookie,session,token的区别(简单易懂)

cookie,session,token的区别(简单易懂)

cookie

浏览器与服务器进行会话时,产生一种本地存储技术

session

Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,
当这个Session结束时,其实就是意味着这个Cookie就过期了。

cookie和session的共同之处在于

cookie和session都是用来跟踪浏览器用户身份的会话方式。

cookie 和session的区别是

 	cookie数据保存在客户端,session数据保存在服务器端
    (1)cookie数据存放在客户的浏览器上,session数据放在服务器上
    (2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
    (3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,
    如果主要考虑到减轻服务器性能方面,应当使用COOKIE
    (4)单个cookie在客户端的限制是4K,就是说一个站点在客户端存放的COOKIE不能4K。
    (5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中

因为Seesion每次认证用户发起请求时,服务器需要去创建一个记录来存储信息。当越来越多的用户发请求时,内存的开销也会不断增加。所以出现了token。

token:令牌

    让服务器存储所有用户的session会加大服务器的压力,如果让客户端来保留session信息又无法被伪造,token横空出世。
    token核心的一点就是签名,防止第三方伪造,签名秘钥是保存在服务器上的,其他人无法知道。
    在我们进行身份认证后服务端会生成一个已签名的token给客户端进行保存,
    当用户再次发送请求时,将token作为请求头发送到服务端,服务端将按照token使用再一次进行签名,判断两次签名是否相同。
    这样一来服务端就只要生成token,也不需要保存token,只要验证token就好了。

你可能感兴趣的:(面试总结,javascript,前端,面试)