首页 > 其他分享 >页面会话技术介绍,什么是Cookie和Session

页面会话技术介绍,什么是Cookie和Session

时间:2023-06-16 10:33:13浏览次数:44  
标签:浏览器 保存 会话 Session Cookie 服务器 cookie

页面会话技术

  • 什么是cookie:服务端保存在浏览器端的数据片段。以 key/value的形式进行保存。每次请求的时候,请求头会自动包含本网站此目录下的 cookie 数据。网站经常使用这个技术来识别用户是否登陆等功能。
  • 用途:保存登录状态,购物车等
  • 缺点:
    • 做为请求或响应报文发送,无形中增加了网络流量。
    • 明文传送的安全性差。
    • 保存数据是不稳定的,用户可以随时清理 cookie,各个浏览器对 Cookie 有限制,使用上有局限

Cookie的使用

服务器向客户端传Cookie

  1. 创建Cookie对象
Cookie cookie = new Cookie("key", "val");
  1. 将cookie放入response响应给客户端
response.addCookie(cookie);

可以同时设置多个Cookie

服务器获取客户端Cookie的值

  1. 获取Cookie
Cookie[] cookies = request.getCookies();
  1. 遍历cookies数组判断查找想要的值

Session

  • Session的特性

    • 服务器会给每个用户创建一个Session对象

    • 每个Session独占一个服务器,只要浏览器不关闭,这个Session就存在

    • 一个Session可以访问此服务器(整个网站)的所有网页

    • Session在浏览器打开的一瞬间就存在

    • Session里可以保存对象

    • Session被注销会产生一个新的Session

  • 和Cookie的区别

    • Cookie将用户数据写给浏览器,由客户端浏览器保存
    • Session吧用户数据写入用户独占的Session中,由服务器保存
    • Session对象由服务器创建

Session的使用

  • 获取Session

    • HttpSession session = request.getSession();
      
  • 在Session中保存数据

    • session.setAttribute("key","value");
      
  • 获取Session的Id

    • String sessionId = session.getId();
      
  • 判断是否是新创建的

    • session.isNew();
      

标签:浏览器,保存,会话,Session,Cookie,服务器,cookie
From: https://www.cnblogs.com/WgBlogSpace/p/17484953.html

相关文章

  • Spring boot集成Redis实现sessions共享时,sessions过期时间问题分析
    Springboot鼓励零配置的方式,帮你做好大部分重复劳动的事,好到不能再好;具体的Redis安装方法和Springboot集成Redis方法,可以去搜索相关文章或参考该文。 当做用户权限管理时,一般都设置一个session过期时间,以确保用户长时间不操作时自动退出系统。在springboot中设置該值的方法如下: 1......
  • WWDC2023 Session系列:探索XCode15新特性
    一、版本说明XCode15beta发布于2023年6月5日,可支持macOS13.3或以上版本,你可以按需下载需要的平台。二、新增特性1.代码智能提示(Codecompletion)•创建新的文件在引用时的提示首先创建一个新的文件然后,在引用的地方,输入文件首字母会立即自动弹出补全提示。......
  • 使用sessionStorage获取值和设置值 sessionStorage.setItem('key','value') sessionS
    使用sessionStorage获取值和设置值sessionStorage.setItem('key','value')sessionStorage.getItem('myname')https://www.shuzhiduo.com/A/lk5a4ZL2J1/<body><buttonid="btn1">设置值</button><buttonid="btn2&......
  • Log in Leetcode in Vscode With Cookies" #标题
    Installleetcodeplug-ininvscodeIt'seasybysearchinExtension.LoginwithcookiesIfyouwanttologinleetcodeinvscodeleetcodeplug-inbygithubaccount,theremaybebugsthatyoucan'ttestorsubmit.Butifyousigninwithcookies......
  • Vscdoe 通过cookie 登陆美区 LeetCode
    安装插件vscode安装leetcode插件。使用cookie登陆如果选择使用github登陆leetcode.com,似乎会有无法提交和测试的bug,而用cookie登陆就没有这个问题使用edge获取cookie使用Firefox获取的cookie有问题,无法正常登陆右键,选择检查选择网络打开leetcode的problem页面下滑找到......
  • mac下nginx+tomcat+memcached集群配置和共享session
     mac下nginx+tomcat+memcached集群配置和共享session  首先分别安装nginx(版本1.5.8)、tomcat(版本7.0)、memcached(版本1.4.17),具体安装说明请分别参考下面的文章。 nginx安装说明 http://stephen830.iteye.com/blog/2002195tomcat安装说明http://stephen830.iteye.com/blog/2001......
  • XSS cookie伪造攻击
    环境系统:windows7靶场:DVWA场景:chrome对firefox的个人cookie盗用伪造IP:192.168.98.128端口:未占用的任意端口实施1.首先确保firefox登录状态,即存在cookie2.构造获取cookie的js请求脚本<script>document.write('<imgsrc="url'+document.coo......
  • Session 与 Cookie
    评:HTTP协议(超文本传输协议)是无状态的,不能保存客户端与服务器之间通讯(交互)的信息。打个比方,拿最常见的登录来说,现在好多网站的操作都需要用户登录,假如在a操作时,用户成功登录系统,再进行b操作时,由于HTTP协议是无状态的,用户之前登录的信息并没有被......
  • [ABC305C] Snuke the Cookie Picker题解
    题目大意有一个\(H\timesW\)的网格,一种有一个矩形,矩形中间有一个点被挖空,求这个点的坐标。(.表示空白,#表示矩形内的点)解析观察我们可以发现,每一矩形内的个点上下左右至少会有两个是#。如图:而每一个在矩形外的点上下左右最多只有一个#。所以我们只需要找的一个.的上......
  • Java 实战介绍 Cookie 和 Session 的区别
    HTTP是一种不保存状态的协议,即无状态协议,HTTP协议不会保存请求和响应之间的通信状态,协议对于发送过的请求和响应都不会做持久化处理。无状态协议减少了对服务压力,如果一个服务器需要处理百万级用户的请求状态,对服务器的压力无疑的是巨大的。无状态的HTTP由于其简单和易用性......