您的位置:首页 > 移动开发

面试题关于cookie,session,application的区别

2012-09-17 22:44 746 查看
Cookie:

①存在于客户端(可被阻止)

②只能是文本文档

③如果设置了期限值,则写入客户端的文件;

如果没有,它只对本窗口或其子窗口有效,其它窗口不能访问该Cookie

④在Servlet/JSP中设置的Cookie可以被同路径下或其子路径的Servlet/JSP访问,父路径不可以

○注:这里的路径是指URL,而不是Web文件的目录

Session:

①存在于服务器端

②每个Session对应一个窗口,用SessionID标识,这个Session为该窗口及其子窗口共享

③有两种实现方式:a.使用Cookie(在Cookie可用时)b.URL重写(在Cookie被禁用时)

④没有访问路径的问题。同一个WebApplication下的Servlet/JSP设置的Session可以被互相访问

前提是:同一个浏览器窗口或其子窗口

Application:

与一个Web应用程序相对应,该应用程序下所有的Servlet/JSP共用该Application中的信息(ServletContext)

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因为保存在客户端,可以长期保存

Cookie存储的信息是放到客户端的,用户在访问服务器端页面时,必然在客户端和服务器端之间频繁交换信息,影响了程序的性能。而Session由于存储在服务器内存中,因此不存在这个问题。不过,Session存储的信息是临时的,用户一旦关闭浏览器,状态即失去。而Cookie则相反。COOKIE
是本地文件,是 40 大盗在阿里巴巴家做的记号,或者是送牛奶的人在你家门口钉的箱子。

Application状态为应用程序提供了一个全局的状态。所有客户都可以使用该状态。从设计的角度来说,我们通常用Application来存储一些标准的数据。同时,我们在使用它时要注意避免性能的降低,存储的数据尽可能提供给客户只读的功能。 APPLICATION 是公共浴池。在这里能看见所有人,包括 ppmm 哦:)。

Session和客户端的Cookie是有关的,当客户关掉Cookie时,Session就失效了,SESSION 是服务器端内存,是你洗澡时浴池发给你的钥匙。自己专用,可以开自己的好多箱子。

Application:

application是应用级别的,同一个应用中的所有用户将共享此对象。因此,我们利用application对象来存储一些坏境信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: