Session与会话跟踪

本文详细介绍了Session和Cookie在会话跟踪中的作用。Session用于在服务器端存储用户状态,通过分配唯一的SessionID并通过Cookie返回给浏览器。Cookie是保存在客户端的信息,可存储在内存或硬盘上,用于在请求中携带SessionID。当Cookie被禁用时,URL重写成为跟踪会话的手段。此外,还讨论了Session与Cookie的区别,包括它们的存储位置和生命周期管理。
摘要由CSDN通过智能技术生成

利用Session,服务器能够标识出来自单个客户的一系列请求,并把这些请求组成一个单独的工作会话,就能区分不同的用户;同时服务器能够记住前面的请求的信息,以及对前一请求作出的处理信息,记住客户的操作状态。

当请求一个会话的时候,Servlet容器就创建一个HttpSession对象,有了这个对象,就可以利用这个对象保存客户的状态信息。

Servlet容器为HttpSession对象分配一个唯一的SessionID,将其作为Cookie的一部分(或URL的一部分)发送给浏览器,浏览器在内存中保存这个Cookie。当客户再次发送HTTP请求时,浏览器会将Cookie随请求一起发送,Servlet容器从请求对象中读取SessionID,然后根据SessionID找到对应的HttpSession对象,从而得到客户的状态信息。
这里写图片描述

Cookies
Cookies是一种由服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,在客户随后对该服务器的请求中发回它。
Cookie以键值对的方式记录会话跟踪的内容,服务器利用响应报头Set-Cookie来发送Cookie信息,请求报头利用Cookie发回它。

Set-Cookie响应报头的格式:
Set-Cookie: <\name>=<\value>[; <\name>=<\value>]…
[; expires=<\date>][; domain=<\domain_name>]
[; path=<\some_path>][; secure][; httponly]

说明:1、Name是Cookie的名字,Name=value属性–值对必须首先出现,在此之后的属性-值对可以以任何顺序出现。(在Servlet规范中,用于会话跟踪的Cookie的名字必须是JSESSIONID)。
2、Domain属性是可选的,用于指定Cookie在哪一个域中有效。所指定的域必须以点好(.)开始。
3、expires=<\date>: 设置cookie的有效期,如果cookie超过date所表示的日期时,cookie将失效。如果没有设置这个选项,那么cookie将在浏览器关闭时失效。
例如:
Set-Cookie: MODXOXd=”32434343322”; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/MODXOXd=”“;

当浏览器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值