最近面试时,有几次被问到了session、cookie、Application,它们之间的区别,从网上查了一些资料,总结如下:
1、 session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。
2、 session中保存的是对象,cookie中保存的是字符串。3、 session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数, 那么同一个网站中不同路径下的cookie互相是访问不到的。
4、session需要借助cookie才能正常工作。如果客户端完全禁止cookie,session将失效。 但是如果服务器端启用了url编码,也就是用 URLEncoder.encode()把所有的url编码了,则会在url后面出现如下类似的东西 index.jsp:jsessionid=fdsaffjdlks;jaf;lkdjsf , 服务器通过这个进行session的判断
5、 session在用户会话结束后就会关闭了,但cookie因为保存在客户端,可以长期保存
6、 Application状态为应用程序提供了一个全局的状态。所有客户都可以使用该状态。从设计的角度来说,我们通常用Application来存储一些标准的数据。同时,我们在使用它时要注意避免性能的降低,存储的数据尽可能提供给客户只读的功能。 APPLICATION 是公共浴池。在这里能看见所有人,包括 ppmm 哦:)。