提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
前言
对于客户端和服务端的互动联系,下文将粗略的介绍一些。
一、cookie是什么?
1.cookie简介
众所周知,http协议是一种无状态的协议,它不会保存客户端的历史请求记录,每次客户端和服务端都是初次见面,请多多关照,因此有了cookie,可以将它们之间的事情记录下来,cookie储存在用户的电脑上,打开浏览器的后台就可以和它见面,cookie会记录用户的信息,让服务端和客户端亲密无间,它可以记录地理位置等。
2.cookie的执行原理
当客户端第一次拜访服务器时,服务器会生成一份cookie传输给客户端,客户端会自动将cookie保存起来,以后每次客户端拜访服务器时,带着cookie,就不需要在验证了。
3.cookie的优缺
好处:方便,好用。
缺点:保存数据有限,不安全,保存在客户端,容易被修改,或者被其他人查看到隐私信息。
二、session是什么?
1.简介
session是记录客户状态的机制,它保存在服务器上,是服务器在和客户端建立连接时添加客户端连接标志。
2.原理
当客户端访问服务端时,会在服务器软件(Apache、Tomcat、JBoss)转化为一个临时Cookie发送给给客户端,当客户端第一请求时服务器会检查是否携带了这个Session(临时Cookie),如果没有则会添加Session,如果有就拿出这个Session来做相关操作。
三、token是什么?
1.简介
token是用户身份的验证方式,我们通常叫它:令牌。最简单的token组成:uid(用户唯一的身份标识)、time、sign。还可以把不变的参数也放进token,避免多次查库。当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码
2.好处
它可以减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
四、cookie和token的区别
1.token支持跨域访问,cookie不支持跨域访问。
2.token无状态化,服务端不需要存储token,只需要验证token 信息是否正确即可。
3.token可抵御csrf,因为cookie容易伪造,但是token是不容易伪造的。
4.token可拓展性更强。
五、cookie和session的区别
共同点:都是用来跟踪浏览器用户身份的会话方式。
不同点:(1)存储位置:cookie数据放置在客户端的浏览器上。而session数据放置在服务器上
(2)安全性:cookie不安全,容易被修改,而session比较安全。
(3)数据的大小:cookie只有4kb,存储量不多。session比较大。
(4)服务器性能:session会在一定的时间内保存在服务器上,当访问增多是,会占用 服 务器的性能。