成都9班-何加云 发表于 2021-12-2 21:44:54

coookies、session、token的区别

post请求和get请求的区别:1.get请求的入参信息会暴露在url中,而post请求的入参信息放在body中。2.post请求会没有暴露入参,所以会相对比较安全。3.post请求的入参放在body中,大小不会受限制。get请求入参信息的受浏览器输入框的长度限制,一般大小不会超过2kb。4.get请求的请求速度会相对较快,post请求的数据量比较大。 关联接口:上一个接口的响应内容,用来作为下一个接口的入参
cookies:存在浏览器中的一种数据形式,每次去访问同一个地址都会把上一层返回过来的部分内容给带过去进行访问。session就是依赖cookies每次都要提交的一个特性将sessionid带给服务器的。
session:是存在服务器上面的一种鉴权的形式,每次登录之后就会在服务器中存储一个sessionid,下次访问服务器需要带上这个sessionid,服务器就知道是谁在访问了。 token:登录之后,服务器会反馈给客户端一个token值,如果客户需要操作登录之后的接口,那么必须要带上token值来操作。为了让服务器知道到底是谁在请求它。 鉴权机制:鉴定权力,鉴定身份 cookies:   存在浏览器中的一种数据,每次请求相同的接口地址的时候。它会将cookise里面的值再一次的请求过去。因为cookies存在浏览器中,可以获取到cookies里面的内容,进行解析,所以cookies相对来说不是特别安全。 session:存在服务器中,当用户进行登录后,服务器中会生成一个session的id值,并且响应给客户端。客户端拿到sessionid 之后,会存储在cookies中,下一次访问时,因为会将cookies里面的内容带过去再次访问服务器,这时相当于sessionid带给服务器了。所以服务器会知道到底是谁在请求它。session有一个有效时长,一般电商平台都是30分钟,一般银行、金融的都是30秒内(例如银行的转账U盾)。退出登录后, 你服务器上面的session会进行销毁,所以你退出登录之后再通过cookies带着上一次的session去访问时,它不会识别到你的身份。(举例:登录百度:当登录百度, 然后关闭浏览器。再次访问百度网页时, 会自动显示你为登录状态,就是因为上一次你登陆时。sessionid已经存在你的浏览器中的cookies中了,你再次打开百度,cookies会将刚刚的session给带过去。所以再次打开会显示是登录状态。当从百度退出登录是,服务器上的session会被销毁,你存在cookies中的session 就和服务器中的对不上号了。 所以此时你关闭浏览器再打开,它不会显示你在登录状态。) token:理解为一个身份令牌当客户登录后,服务器会发送一个令牌(token)给用户,如果用户需要操作登录之后的接口,需要将token 放在入参中,或者放在headers中,去请求服务器。 当服务器看到这个令牌时就知道是谁在请求它。就不需要再次验证账号和密码了。(可以环境服务器频繁查询数据库的次数。缓解服务器的压力)
页: [1]
查看完整版本: coookies、session、token的区别