会话技术+请求转发+重定向

        会话包括有状态会话和无状态会话。

        有状态会话是指在网络通信过程中,服务器需要记住客户端的状态信息,以便后续的通信能够继续使用这些信息。

        无状态会话是无法持续保存信息,http超文本传输协议中的http属于无状态会话

        如何保存会话?

1.将状态保存在客户端 cookie上

2.将状态保存在服务端 session上

cookie

        cookie是服务器创建的,然后通过响应发送给客户端并保存在浏览器上的一小块信息,它会在浏览器下次发起请求时被携带并发送到服务器上

cookie访问过程

1.编写访问请求url到服务器

2.服务器创建cookie对象,并通过respondse将cookie响应给客户端

3.接受服务端响应的cookie信息,并存储

4.再次向服务端发起访问请求并携带cookie信息

5.从请求中获取cookie信息

session

        session是每一个游览器(客户端)所唯一的,这个是怎么实现的呢?其实,在访问一个网站时,在HTTP请求中往往会携带一个cookie,这个cookie的名字是JSESSIONID,这个JSESSIONID表示的就是session的id,这个是由服务器创建的,并且是唯一的。服务器在使用session时,会根据JSESSIONID来进行不同操作。

session访问过程

1.编写访问请求url到服务器

2.服务端创建session,对应一个jsessionid

3.jsessionid保存到cookie

4.再次向服务端发起访问请求并携带jsessionid

5.获取session信息

当浏览器禁止了cookie的使用,那我们该如何应对?

我们可以使用请求转发和重定向来继续使用session

请求转发是一种服务器行为,当客户端请求到达之后,服务器进行转发。

特点:可以转发至网站内任意资源,可以访问WEB-INF
        一次请求,数据再request域共享
        地址栏不发生改变
        服务端行为

重定向:服务器指导的客户端行为,客户端发出一个请求,被服务器接收处理之后,服务器给客户端一个响应(一个新的地址),当客户端接收到新的地址之后,立马发起第二次请求,服务器接收并响应

特点:客户端行为,访问不了WEB-INF
        两次请求,数据在request域不共享
        可以重定向到任意地址(可以跨域)

相关推荐

  1. 会话技术+请求转发+定向

    2023-12-17 00:54:03       37 阅读
  2. http请求定向

    2023-12-17 00:54:03       23 阅读
  3. SpringMVC转发定向

    2023-12-17 00:54:03       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-17 00:54:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-17 00:54:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-17 00:54:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-17 00:54:03       20 阅读

热门阅读

  1. Delete、Truncate、Drop的区别有哪些,该如何选择

    2023-12-17 00:54:03       38 阅读
  2. uniapp组件map地图组件使用

    2023-12-17 00:54:03       37 阅读
  3. SpringBoot 3.0 升级之 Swagger 升级

    2023-12-17 00:54:03       35 阅读
  4. (第38天)RAC 修改 IP 信息

    2023-12-17 00:54:03       38 阅读
  5. 前端(二)

    2023-12-17 00:54:03       32 阅读
  6. 使用Python实现蒙特卡罗算法

    2023-12-17 00:54:03       37 阅读
  7. C#基础——面向对象(封装 继承 多态)

    2023-12-17 00:54:03       45 阅读
  8. ca-certificates.crt解析加载到nssdb中

    2023-12-17 00:54:03       40 阅读
  9. Go中的工作池:并发任务的优雅管理

    2023-12-17 00:54:03       36 阅读
  10. 快速学习C++中的模板

    2023-12-17 00:54:03       37 阅读
  11. [笔记] wsl2 下使用 qemu/grub 模拟系统启动(多分区)

    2023-12-17 00:54:03       38 阅读
  12. 来聊聊CAS

    2023-12-17 00:54:03       40 阅读