首页 > 其他分享 >2024/11/15日 日志 关于 会话跟踪技术--- Cookie & Session

2024/11/15日 日志 关于 会话跟踪技术--- Cookie & Session

时间:2024-11-16 21:57:31浏览次数:1  
标签:11 存储 15 -- --- 会话 Session Cookie 浏览器

会话跟踪技术

-- ·会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。
-- 在一次会话中可以包含多次请求和响应
-- ·会话跟踪:一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同一浏览器,
-- 以便在同一次会话的多次请求间共享数据
-- ·HTTP协议是无状态的,每次浏览器向服务器请求时,服务器都会将该请求视为新的请求,
-- 因此我们需要会话跟踪技术来实现会话内数据共享
-- ·实现方式:
-- 1.客户端会话跟踪技术:Cookie
-- 2.服务端会话跟踪技术:Session

Cookie

点击查看代码
-- Cookie
-- 
-- Cookie 基本使用
-- · Cookie:客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问
-- · Cookie 基本使用
-- 		1. 创建Cookie对象,设置数据
-- 		Cookie cookie = new Cookie("key"."value");
-- 		2. 发送Cookie到客户端:使用response对象
-- 		response.addCookie(cookie);
-- 		3.获取客户端携带的所有Cookie,使用request对象
-- 		Cookie[] cookies =requtst.getCookies();
-- 		4.遍历数组,获取每一个Cookie对象:for
-- 		5.使用Cookie对象方法获取数据
-- 		cookie.getName();
-- 		cookie.getValue();
-- 
-- Cookie 原理
-- Cookie的实现是基于HTTP协议的
-- 响应头:set-cookie
-- 请求头:cookie
-- 
-- Cookie 使用细节
-- 	·Cookie 存活时间
-- 		默认情况下,Cookie 存储在浏览器内存中,当浏览器关闭,内存释放,
-- 		则Cookie被销毁setMaxAge(int seconds):设置Cookie存活时间
--       //设置存活时间,1周 7天
--         cookie.setMaxAge(60*60*24*7);
-- 	1.正数:将 Cookie写入浏览器所在电脑的硬盘,持久化存储。到时间自动删除
-- 	2.负数:默认值,Cookie在当前浏览器内存中,当浏览器关闭,则Cookie被销毁
-- 	3. 零:删除对应 Cookie
--  ·Cookie 存储中文
--   Cookie 不能直接存储中文
--   如需要存储,则需要进行转码:URL编码
--  	  String value = "张三";
--         //URL编码
--         value = URLEncoder.encode(value, "UTF-8");
--         System.out.println("存储数据:"+value);
-- 
--         Cookie cookie = new Cookie("username",value);
-- 

Session

点击查看代码
-- Session
-- 	Session基本使用
-- ·服务端会话跟踪技术:将数据保存到服务端
-- ·JavaEE 提供 HttpSession接口,来实现一次会话的多次请求间数据共享功能
-- ·使用:
-- 1.获取Session对象
-- HttpSession session =request.getSession();
-- 2.Session对象功能:
-- -> void setAttribute(String name, Object o):存储数据到 session 域中
-- -> Object getAttribute(String name):根据 key,获取值
-- -> void removeAttribute(String name):根据 key,删除该键值对
-- 
-- Session 原理
-- Session是基于Cookie实现的
-- Session 使用细节
-- ·Session 钝化、活化
-- 		服务器重启后,Session中的数据是否还在?
-- 	钝化:在服务器正常关闭后,Tomcat会自动将 Session数据写入硬盘的文件中
-- 	活化:再次启动服务器后,从文件中加载数据到Session中Seesion 销毁:
-- 		默认情况下,无操作,30分钟自动销毁<session-config>
-- 	<session-timeout>30</session-timeout></session-config>
-- 	调用 Session对象的 invalidate()方法
-- 
-- 小结
-- Cookie 和 Session 都是来完成一次会话内多次请求间数据共享的
-- 区别:
-- 存储位置:Cookie 是将数据存储在客户端,Session 将数据存储在服务端
-- 安全性:Cookie 不安全,Session安全
-- 数据大小:Cookie 最大3KB,Session无大小限制
-- 存储时间:Cookie 可以长期存储,Session 默认30分钟
-- 服务器性能:Cookie 不占服务器资源,Session 占用服务器资源
-- 
--

标签:11,存储,15,--,---,会话,Session,Cookie,浏览器
From: https://www.cnblogs.com/MoonbeamsC/p/18542484

相关文章

  • P8119 「Wdoi-1.5」幻想乡游览计划
    不妨考虑树的情况,对于图只要取一棵生成树即可。\(k\le4n\)是容易的,两个点分别dfs就是\(\le4n\)次。对于\(k\le3n\),考虑一个做法:一个人去遍历整棵树,每次拓展新点时交换。不难证明正确性,次数\(\le3n\)。考虑优化这个策略。注意到其中一个点一直在根,这非常浪费。事实上......
  • 架构师之路-学渣到学霸历程-64
    负载均衡的方式:今天继续分享nginx的负载均衡的几种方式,并且以实验的方式进行讲解;继续保持输出以及分享,目前能做的也就是这些了;1.url_hash说明通过客户请求的url进行hash,在通过hash值来选择后端的server;#修改前端的nginx的配置文件[root@Linux2nginx]#vimconf/nginx......
  • 面试题整理---自己努力,人只能靠自己。
     事情:**1.工作经验?【重点】面试官您好,我叫某某某,毕业于某大学,毕业之后做的主要是软件测试相关工作。   **2.熟悉的项目?【重点】【听得见吗?你复述一遍。复述一遍。复述一遍。】  **简历更新。我就说我做测试数据。 打印一份最新的简历。 *面试,怎么口头描述测试用......
  • 刘艳兵-DBA034-以下关于PCTUSED和PCTFREE的说法中,哪些是正确的?
    以下关于PCTUSED和PCTFREE的说法中,哪些是正确的?A   PCTFREE设为20,表示限制数据块中只有80%的空间可用于存储新插入的行。B   PCTFREE设为20,表示限制数据块中只有20%的空间可用于存储新插入的行。C   PCTUSED设为40,表示当数据块中的已用空间低于40%时,该数据块允许......
  • 20222325 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容本实践目标是掌握metasploit的用法。指导书参考Rapid7官网的指导教程。https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/下载官方靶机Metasploitable2,完成下面实验内容。(1)前期渗透①主机发现(可用Aux中的arp_sweep,search一下就可以use)......
  • 吐槽202401113关于监管特殊停牌炒作股票事件--兼此事件复盘
    写在前面:强者从不抱怨环境,弱者只会怨天尤人我仅以此发泄下情绪,我知道不会有人在这里看股市,所以才写在这里。自媒体的宣泄是为了博取不同人的共情,吸引流量。而我仅仅为了宣泄下不满,后面看到的人不要学我。 本次的监管特停事件是一次黑天鹅事件。 复盘2024-11-09日,周五下午......
  • 20222306 2024-2025-1《网络与系统攻防技术》实验六实验报告
    1.实验内容1.1内容回顾总结这周都重点在于Metasploit工具的使用,我深入了解了对其功能和使用流程。Metasploit是一个功能强大的渗透测试框架,广泛应用于网络安全领域。它为安全专家、渗透测试人员和红队提供了一个全面的工具集,支持漏洞利用、攻击模拟和安全评估。Metasploit提......
  • 20222311 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容1.1本周学习内容回顾使用了Metasploit框架,其是一个功能强大的渗透测试框架。在使用的过程当中,Metasploit提供了种类繁多的攻击模块,涵盖了远程代码执行、服务拒绝、提权等多种攻击方式,支持对多种操作系统和应用程序进行测试。除了漏洞利用,它还具备强大的后渗透功能,如......
  • 20222427 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容1.1本周内容总结使用了Metasploit框架,其是一个功能强大的渗透测试框架。在使用的过程当中,Metasploit提供了种类繁多的攻击模块,涵盖了远程代码执行、服务拒绝、提权等多种攻击方式,支持对多种操作系统和应用程序进行测试。除了漏洞利用,它还具备强大的后渗透功能,如......
  • [20241114]建立完善mod_addr.sh脚本.txt
    [20241114]建立完善ext_kglob.sh脚本.txt--//以前考虑使用管道问题,我考虑复杂了,看了gdb文档,实际上gdb-ex参数支持在命令行加入执行命令。--//选择使用mmon后台进程,改写如下:$catext_kglob.sh#/bin/bash#extraceobjectstringfromobjecthandleaddress#arg1=addressarg2=o......