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

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

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

        无状态会话是无法持续保存信息,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域不共享
        可以重定向到任意地址(可以跨域)

你可能感兴趣的:(http)