网站页面设计考虑要素编程代码网站
news/
2025/9/27 17:54:13/
文章来源:
网站页面设计考虑要素,编程代码网站,晚上求个地址2021,有没有做那个的视频网站吗cookie/session/token三者区别和优缺点 cookiesessiontoken三者对比 cookie
cookie由服务器生成#xff0c;发送给浏览器#xff0c;浏览器把cookie以kv形式保存到某个目录下的文本文件内#xff0c;下一次请求同一网站时会把该cookie发送给服务器。所以cookie是保存在浏览… cookie/session/token三者区别和优缺点 cookiesessiontoken三者对比 cookie
cookie由服务器生成发送给浏览器浏览器把cookie以kv形式保存到某个目录下的文本文件内下一次请求同一网站时会把该cookie发送给服务器。所以cookie是保存在浏览器的客户端。一般会存储用户的身份信息有些系统也会通过cookie记录一些用户的操作习惯。
优点
易于使用可以由服务器在响应头中设置。大多数浏览器支持并在所有请求中发送cookie。可以存储大量数据。与服务器保持状态有助于进行状态管理。
缺点
大小限制通常为4KB并且浏览器都限制一个站点最多保存20个cookie。易于遭到XSS攻击因为存储在客户端攻击者可以访问。CSRF攻击需要额外的防护措施。隐私问题用户数据存储在本地并且数据可以被轻易查看。。性能影响每次请求都会发送cookie数据。字符编码为 Unicode不支持直接存储中文。不可跨域
session
Session是一种在服务器端存储用户会话信息的方式通常与Cookie配合使用以保持用户的状态。Session的优点包括安全性较高因为数据保存在服务器端不易被篡改其缺点包括可能增加服务器的负担特别是在高并发情况下以及可能面临扩展性问题如服务器集群时的Session同步问题。
优点
存储空间较cookie大。不会被保存在客户端相对更安全。可以使用服务器端存储如数据库可以更容易进行扩展。
缺点
需要在服务器端保存增加服务器负担。依赖于服务器服务器宕机或重启会导致数据丢失。无法跨域进行session管理。用户登录后服务器需要维护用户状态增加服务器负担。
token
Token则是在服务器端生成并在认证过程中分发给客户端的数据片段通常用于验证客户端的身份。Token可以包含用户的身份信息和权限声明存储在服务器的数据库中客户端可以将Token保存在任何地方如本地存储或服务器端的缓存系统中。Token 可以有效地避免了 Cookie 的一些安全问题比如 CSRF (跨站请求伪造)攻击。
优点
无需在服务器端保存session信息减少服务器负担。支持跨域会话只要客户端携带token即可。无状态、可扩展性好。支持移动设备使用。安全性较高不需要保存在客户端。不需要依赖cookie可以避免XSS和CSRF攻击。
缺点
如果token被盗那么攻击者可以不受限制地访问数据。每次请求需要传输token可能会增加带宽消耗。服务器不能主动向客户端发送信息需要依赖于客户端轮询或者长轮询。
三者对比
cookie、session、token三者最终的目的都是一样鉴权和认证下面使用表格的方式直观的描述下三者的优缺点。
方式特点优点缺点cookie1.存储在客户端。2.请求自动携带 cookie。3.存储大小 4KB。1.兼容性好因为是比较老的技术。2.很容易实现因为 cookie 会自动携带和存储。1.需要单独解决跨域携带问题比如多台服务器如何共享 cookie。2.会遭受 CSRF 攻击。3.存储在客户端不够安全。session1.存储在服务端。2.存储大小无限制。1.查询速度快因为是个会话相当于是在内存中操作。2.结合 cookie 后很容易实现鉴权。3.安全因为存储在服务端。1.耗费服务器资源因为每个客户端都会创建 session。2.占据存储空间session 相当于存储了一个完整的用户信息。token1.体积很小。2.自由操作存储在哪里。1.安全因为 token 一般只有用户 id就算被截取了也没什么用。2.无需消耗服务器内存资源它相当于只存了用户 idsession 相当于存储了用户的所有信息。3.跨域处理较为方便比如多台服务器之间可以共用一个 token。1.查询速度慢因为 token 只存了用户 id每次需要去查询数据库。
总结下来就是session 是空间换时间token 是时间换空间。
cookie数据存放在客户的浏览器上、session数据放在服务器内存上、token存储在服务器数据库上 参考文章https://zhuanlan.zhihu.com/p/631349844
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919761.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!