cookie、session和token的区别

这篇具有很好参考价值的文章主要介绍了cookie、session和token的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作用:三者的作用是在浏览器上保存用户的登录态,其实就是实现用户在网页上登录过一次后,一段时间内再次访问不需要重新登录,会实现自动登录的一个效果。

cookie:是客户端用来存放数据的一个容器,大小约为4k,是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再次发送请求时被携带并发送到服务器上。cookie是不可跨域的,每个cookie都会绑定单一的域名,无法在别的域名下获取使用,一级域名和二级域名之间是允许共享使用的。

session:是另一种记录服务器和客户端会话状态的机制。session是基于cookie实现的,session存储在服务器端,session_id会被存储到客户端的cookie中。用户第一次请求服务器的时候,服务器根据用户提供的信息创建对应的session,请求返回时将此session的唯一标识信息session_id返回给浏览器,session_id存在cookie中,同时cookie记录此session_id属于哪个会话。二次访问服务器时,请求会自动判断此域名下是否存在cookie信息,如果存在自动发送给服务端,服务端会自动从cookie中获取session_id,在根据id查找对应session信息,id是加密过的,session_id是连接cookie和session的桥梁。

cookie与session的区别:

1)安全性:session比cookie安全,session是存储在服务器端的,cookie是存储在客户端的。

2)存取值的类型不同:cookie只支持字符串数据,想要设置其他类型的数据,需要将其转换成字符串,session可以存任意数据类型。

3)有效期不同:cookie可以设置为长时间保持,比如我们经常使用默认登录功能。session一般失效时间较短,客户端关闭或session超时都会失效。

4)存储大小不同:cookie单个不能超过4k,session远高于cookie,但访问量过多时会占用服务器资源。

token:token存在客户端,但它是服务端发回来的,每次请求都需要携带token,把token放到HTTP的Header中,基于token的用户认证是一种服务端无状态的认证方式,服务端不用存放token数据,用解析token的计算时间换取session的存储空间,减轻服务器压力,减少频繁查询数据库,token完全由应用管理,避开同源策略。

token和session的区别:

1)session是一种记录服务器和客户端会话状态的机制,使服务端有状态化。而token是令牌,访问资源接口(API时)所需要的认证资源,token使服务器无状态化,不会存储会话信息。

2)session和token并不矛盾,作为身份认证token比session安全性更好,因为每一个请求都有签名,还能防止监听以及重放攻击,而session就必须依赖链路层来确保通讯安全了。文章来源地址https://www.toymoban.com/news/detail-622299.html

到了这里,关于cookie、session和token的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件测试】cookie、session和token的区别

    今天就来说说session、cookie、token这三者之间的关系!最近这仨玩意搞得头有点大 我们都知道 HTTP 协议是无状态的,所谓的无状态就是客户端每次想要与服务端通信,都必须重新与服务端链接,意味着请求一次客户端和服务端就连接一次,下一次请求与上一次请求是没有关系的

    2024年02月10日
    浏览(27)
  • Cookie、Session和Token三者区别以及各自应用场景

    存储位置:Session和Cookie分别存储在服务器端和客户端,而Token则是在客户端和服务器端之间传递的。 安全性:Session相对于Cookie来说更安全,因为Session存储在服务器端,不容易被恶意攻击者获取。而Cookie存储在客户端,存在被拦截或篡改的风险。Token则通常用于安全认证和授

    2024年02月09日
    浏览(32)
  • HTTP请求中token、cookie、session有什么区别

     cookie HTTP 无状态的,每次请求都要携带 cookie ,以帮助识别身份 服务端也可以向客户端 set-cookie , cookie 大小 4kb 默认有跨域限制:不可跨域共享,不可跨域传递 cookie (可通过设置 withCredential 跨域传递 cookie ) cookie本地存储 HTML5 之前 cookie 常被用于本地存储 HTML5 之后推荐使用

    2024年02月08日
    浏览(33)
  • http 请求报文响应报文的格式以及Token cookie session 区别

    HTTP 请求报文和响应报文的格式如下: HTTP 请求报文格式: 方法 : 请求方法,例如 GET、POST、PUT、DELETE 等。 路径 : 请求的路径,表示需要访问的资源。 协议版本 : 使用的协议版本,通常是 HTTP/1.1 或 HTTP/2。 请求头部字段:包含了关于请求的附加信息,每个字段由字段名和对

    2024年02月16日
    浏览(41)
  • 【前端知识】Cookie, Session,Token和JWT的发展及区别(一)

    五一假期第3天,2023年5月1日继续打卡分享自己的前端笔记😜,今天就分享我关于Cookie, Session,Token和JWT的相关笔记和理解吧。 本文为原创,未经同意请勿转载 由于篇幅有点长😂,所以笔者将我关于这部分的笔记分为四个篇章(文章开头后面附录上下篇链接),避免读者的阅

    2024年02月06日
    浏览(31)
  • 【前端知识】Cookie, Session,Token和JWT的发展及区别(上)

    五一假期第3天,2023年5月1日继续打卡分享自己的前端笔记😜,今天就分享我关于Cookie, Session,Token和JWT的相关笔记和理解吧。 本文为原创,未经同意请勿转载 由于篇幅有点长😂,所以笔者将我关于这部分的笔记分为四个篇章(文章开头后面附录上下篇链接),避免读者的阅

    2024年02月02日
    浏览(29)
  • Qt+QtWebApp开发笔记(四):http服务器使用Session和Cookie实现用户密码登录和注销功能

      前面实现了基础的跳转,那么动态交互中登录是常用功能。   本篇实现一个动态交互的简单登录和注销功能,在Qt中使用Session和Cookie技术。        链接:https://pan.baidu.com/s/1nkmsHgr-11Khe9k6Ntyf_g?pwd=1234     Web应用程序通常处理用户输入。将开发一个登录表单,看看

    2024年02月06日
    浏览(67)
  • cookie+session和token

    总结说在前面: session:起源于服务端,保存在服务端(服务器或者数据库),通过cookie传递给用户,用户每一次发送HTTP请求的时候,通过验证cookie中的session-id来验证用户身份。 jwt(json web token):起源于服务端,保存在浏览器(cookie或者storage),和session一样,用户每一次发

    2024年02月19日
    浏览(32)
  • cookie,session和token详解

    目前网络上进行用户验证的方法主要有三种:cookie,session,token,他们之间存在相似也有各自的优缺点,本文将着重强调。 cookie是浏览器存储在本地的文件,主要用于存储服务器对用户进行的标记,大小有限一般只为4kb,用户在第一次进行服务器请求时,服务器会生成对应的

    2024年02月13日
    浏览(28)
  • 九、会话控制——cookie、session、token

    HTTP是一种无状态协议,它没有办法区分多次的请求是否来自于同一个客户端,无法区分用户。而产品中又大量存在这样的需求,所以我们需要通过会话控制来解决问题。 常见的会话控制有三种: (1)cookie (2)session (3)token cookie 是HTTP服务器发送到用户浏览器并保存在本

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包