首页 > 其他分享 >[Web] 会话访问的 Session, Cookie and Token

[Web] 会话访问的 Session, Cookie and Token

时间:2023-07-29 15:55:05浏览次数:33  
标签:Web 存储 用户 Token Session Cookie 客户端

Session

    Session是服务器端的一种状态管理机制,用于跟踪用户在不同请求之间的状态。
    当用户第一次访问服务器时,服务器会为该用户创建一个唯一的Session ID,并将该ID通过Cookie或URL参数发送给客户端保存。
    后续用户的每次请求都会携带该Session ID,服务器根据Session ID识别用户,并获取或更新用户的状态信息。
    Session通常用于保存用户的登录状态、购物车信息等,可以存储在服务器的内存或数据库中。
    由于Session数据存储在服务器端,因此相对安全,但需要消耗服务器资源,且不适用于分布式环境。 
    浏览器中可永久存储的一个kv数据
    Cookie是存储在客户端的小型文本文件,用于在用户和服务器之间传递数据。
    服务器在响应HTTP请求时,通过设置Set-Cookie头部将Cookie信息发送给客户端,
    客户端会将Cookie保存在本地,每次请求都会自动携带Cookie。
    Cookie通常用于实现持久化登录、用户偏好设置等功能。
    Cookie虽然方便,但有一定的安全性问题,因为Cookie存储在客户端,可能被篡改或盗取。

Token

    Token是一种轻量级的身份验证和授权机制,不依赖于服务器的状态,通常使用加密算法生成,并包含用户的一些信息和签名。
    用户在登录后,服务器生成一个Token并发送给客户端,客户端在后续请求中携带Token进行身份验证。
    Token通常存储在客户端的本地存储(如LocalStorage或SessionStorage)中,也可以存储在Cookie中。
    Token可以用于单点登录(SSO)和分布式环境中的身份验证和授权,不需要服务器保存状态,适用于无状态的RESTful API。

总结:

Session用于服务器端状态管理,Cookie和Token用于在客户端和服务器之间传递数据。
Session存储在服务器端,适用于有状态的Web应用,Cookie和Token存储在客户端,适用于无状态的Web应用或分布式环境。
Token相对于Cookie和Session,更加轻量且适用于移动端和分布式环境。

标签:Web,存储,用户,Token,Session,Cookie,客户端
From: https://www.cnblogs.com/NetUSA/p/17589531.html

相关文章

  • Django web框架实现修改【单个】nacos配置
    Djangoweb框架实现修改【单个】nacos配置基于上一个博客的Django的项目环境继续添加一些高级的功能——修改nacos配置。简单回顾一下,上面添加的功能:博客网站文章上传、发布,rediskey删除接口。1.首先安装PythonNacos客户端库pipinstallnacos-sdk-python 2.创建n......
  • ASP.NET Core WebAPI如何获得远程文件返回文件流给前端?
     一、根据网络路径把文件保存成byte[]返回给前端项目采用的是前后端分离的模式,后端使用ASP.NETCoreWebAPI方式,将文件流返回给前端。///<summary>///根据网络路径把文件保存成byte[]///</summary>///<paramname="filePath"></param>publicbyte[]UrlToByte(string......
  • WEB漏洞—反序列化之php&java(上)
    PHP反序列化原理:---未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入,目录遍历等不可控后果。---其实跟文件解析差不多,都是由于传递的恶意参数被执行(序列化和反序列化相当于加解密过程)---在反序列化的过程中自动触发了某些魔术方......
  • Web开发者不容错过的10个HTML5工具
    HTML5已经成为当今世界的一个必然组成部分。由于WorldWideWeb万维网是使用超文本标记语言来架构和呈现的,于是HTML5成为了最流行的编程语言之一。随着网络的不断扩张,Web开发人员非常有必要拥有最新的HTML5工具,用于创建动态和交互式的Web应用程序和网页。下面这些就是你不应该错过......
  • ESP32连接云服务器【WebSocket】
    ESP32连接云服务器【ESP32+宝塔面板】......
  • 前端token是什么意思?怎么设置保存?应用场景?实现思路?
    token的意思:服务端生成的一串字符串,作为客户端进行请求的一个标识。当用户第一次登录后,服务器生成一个token并将此token返回给客户端以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。简单token的组成:uid(用户唯一的身份标识)time(当前时间的时间戳)sig......
  • CTFer成长记录——CTF之Web专题·攻防世界—fileinclude·好多文件呀
    一、题目链接https://adworld.xctf.org.cn/challenges/list二、解法步骤  WRONGWAY!<?phpinclude("flag.php");highlight_file(__FILE__);if(isset($_GET["file1"])&&isset($_GET["file2"])){$file1=$_GET["file1"......
  • CTFer成长记录——CTF之Web专题·攻防世界—easyupload
    一、题目链接https://adworld.xctf.org.cn/challenges/list二、解法步骤  这题一道文件上传题,本题考的是利用.user.ini文件的特性,实现任意命令执行。在测试该文件上传是白名单还是黑名单,我们可以随便上传一个文件后缀,只要不通过就是白名单检测。.user.ini。它比.htacces......
  • asp.net core 2.0 web api基于JWT自定义策略授权
    原文通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明,这篇博文,主要说明在asp.netcore2.0中,基于jwt的webapi的权限设置,即在asp.netcore中怎么用JWT,再次......
  • Java Web|
    1.Spring1.1SpringMVC参数的封装1.传统的URLlocalhost:8080?id=1&name=tom2.基于RESTful风格的URLlocalhost:8080/1/tom前后端分离的开发一般是基于RESTfull,具体规则是4中请求分别表示不同的业务GET查询POST添加PUT修改DELETE删除每个语言使用的时候都一样,是一种规......