转载地址:https://www.cnblogs.com/lcchuguo/p/5245372.html
在文中提到的几点知识,在这里简单梳理一下,
一、服务器(server)跳转的理解
服务器跳转:
所谓服务器端跳转就是指地址栏内容不变(即客户端浏览器的地址栏不会显示跳转后地址的URL)。
客户端请求到达以后,服务器发现当前资源给不出回应,要在服务器内部请求另一个资源的跳转,即服务器端跳转。所以,这种跳转与否客户端不知道(URL不变),属于一次request。
客户端跳转:
所谓客户端跳转是指地址栏内容发生改变(客户端向服务器发请求偶,然后服务器再给客户端一个响应,然后客户端再根据服务器端给的响应中的URL再向服务器发送请求,所以是两次请求,因此地址栏改变了,显示的是最后一次请求地址)。
客户端请求到达服务端,服务端返回一个 “去访问其他链接” 的回应,客户端依此回应,第二次去访问。所以,这种跳转是客户端根据回应地址又跳转了一次,第二次跳转后,已经出了request的属性范围。
1、保存的时间不同,session有一定的生命时效,一般20分
2、信息量大小不同。Application适用于任何大小的数据,Session只适用于少量、简单的数据;
3、对象不同,application保存的是用户公共的信息,而session保存的是当个用户的专有新
4、应用范围不同,application是所有用户,session是当个用户
5、session是每个用户都有,而application共用一个