Java面试中Session、Cookie相关

 时间:2024-10-17 12:06:18

1、Session 的基本原理是什么

Session 对象的原理在于,服务器可以为客户端创建并维护一个所谓的Session 对象,用于存放数据。在创建 Session 对象的同时,服务器将会为该Session 对象产生一个唯一编号,这个编号称之为 SessionID,服务器以 Cookie的方式将 SessionID 存放在客户端。当浏览器再次访问该服务器时,会将SessionID 作为 Cookie 信息带到服务器,服务器可以通过该 SessionID 检索到以前的 Session 对象,并对其进行访问。需要注意的是,此时的 Cookie 中仅仅保存了一个 SessionID,而相对较多的会话数据保存在服务器端对应的 Session对象中,由服务器来统一维护,这样一定程度保证了会话数据安全性,但增加了服务器端的内存开销。存放在客户端的用于保存 SessionID 的 Cookie 会在浏览器关闭时清除。我们把用户打开一个浏览器访问某个应用开始,到关闭浏览器为止交互过程称为一个“会话”。在一个“会话”过程中,可能会向同一个应用发

出了多次请求,这些请求将共享一个 Session 对象,因为这些请求携带了相同的SessionID 信息。Session 对象的正常使用要依赖于 Cookie。如果考虑到客户端浏览器可能出于安全的考虑禁用了 Cookie,应该使用 URL 重写的方式使 Session在客户端禁用 Cookie 的情况下继续生效。

2、解释四种会话跟踪技术

四种会话跟踪技术 是 :隐藏表单域、URL 重写,Cookie、Session。

1.隐藏表单域:<input type="hidden">,非常适合步需要大量数据存储的会话应用。

2.URL 重写:URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对。

3.Cookie:一个 Cookie 是一个小的,已命名数据元素。服务器使用 SET-Cookie头标将它作为 HTTP 响应的一部分传送到客户端,客户端被请求保存 Cookie 值,在对同一服务器的后续请求使用一个 Cookie 头标将之返回到服务器。与其它技术比较,Cookie 的一个优点是在浏览器会话结束后,甚至在客户端计算机重启后它仍可以保留其值。

4.Session:使用 setAttribute(String str,Object obj)方法将对象捆绑到一个会话

  • session,cookie的区别
  • cookie与session
  • java:对cookie的操作
  • Cookie是如何保存的及其读取Cookie
  • 如何用cookie验证session
  • 热门搜索
    植树节英语手抄报内容 爱牙护齿手抄报 关于战争的手抄报 生活中的小窍门手抄报 元旦手抄报内容大全 关于英语手抄报 春节手抄报花边 敬廉崇洁手抄报资料 万圣节英语手抄报 动物世界手抄报