会话跟踪技术Cookie&Session

会话:用户使用浏览器访问服务器资源,会话建立,直到一方断开连接,会话结束

   一次会话可以有多次请求和响应

一.会话跟踪技术:服务器需要识别多次请求是否来自同一浏览器,以便在一次会话的多次请求中共享      数据

  因为HTTP协议是无状态的,每次浏览器想服务器请求时,服务器每次都会将请求视为新的请求,    所以需要会话跟踪技术

  实现方式:

  1.客户端会话跟踪技术:Cookie

  2.服务端会话跟踪技术:Session

二.Cookie基本使用

  Cookie:将数据保存到客户端,以后每次请求都携带Cookie数据进行访问

  发送Cookie:1.创建Cookie对象,设置数据  2.发送Cookie带客户端:使用response对象

  获取Cookie:3.获取客户端携带的所有Cookie,使用request对象

        4.遍历数组,获取每一个Cookie对象:for  

        5.使用Cookie对象方法获取数据

三.Cookie原理和细节

  Cookie的实现基于HTTP协议

    响应头:set-cookie   请求头:cookie

  Cookie使用细节

  ①Cookie存活时间

    默认情况下,Cookie存储在浏览器内存中,浏览器关闭,内存释放时,cookie被销毁

    持久化:setMaxAge(int seconds):设置Cookie存活时间

        设置正数则写入电脑硬盘,设置负数为默认值,随浏览器内存,设置零则删除

  ②Cookie存储中文

    Cookie不能直接存储中文

    如需要存储,则进行转码:URL编码

四.Session使用细节

  服务端会话跟踪技术:将数据保存在服务端

  HttpSession接口,实现一次会话的多次请求间数据共享功能

  1.获取Session对象  

    HttpSession session = request.getSession();

  2.Session对象功能

    void setAttribute :存储数据到Session域中

    Object getAttribute:根据key,获取值

    void removeAttribute:根据key,删除该键值对

五.Session原理

  Session是基于Cookie实现的

  Session使用细节

    ①Session钝化、活化

      服务器重启后,Session中的数据是否还在?在

      钝化:正常关闭时,会写入硬盘文件

      活化:再次启动服务器,从文件加载数据到Session中

    ②Session销毁:

      默认情况下,无操作,30分钟自动销毁

      调用Session对象的invalidate()

 

posted @   Pray386  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示