session域
session一般是与cookie一起使用的,cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。
每一个session都有唯一的sessionid,可以通过一个特殊的cookie,name为JSESSIONID的传过来,但当cookie失效时,就把session的id附加在URL路径的后面。如果不存在sessionid的话,就会给改用户传一个session对象,并且把sessionid发送给客户端,如果存在sessionid,就会在服务器端查找是否有该sessionid对应的session,如果有就使用,没有就创建一个。
既然session和cookie是相辅相成的,cookie具有不可跨域性,所以,session也是不可跨域的,简单来说,如果你有一个累加函数,在这个浏览器上你累加出来的结果,放在另外一个浏览器上,他进行累加又是一个新的开始,又会从头开始累加,但这里面又说明一个问题,因为可以累加,说明session是有“记忆性的”,就是当你打开浏览器开始,到你浏览器关闭,叫做一次会话,一次会话中创建一个session对象,这个对象从始至终的数据方法都是可以共享的,在不同的页面也可以使用一个session。
application域
application相当于一个全局变量,它从服务器启动到服务器结束都只有一个,所以我们可以拿他来存放很多公共需要的数据,他的生命周期就是整个程序,从服务器开始到服务器结束,总的来说,application就是多用户共享,多客户端共享。