我们如何维护 Web 客户端和 Web 服务器之间的会话?

jspjava 8object oriented programmingprogramming

以下是维护 Web 客户端和 Web 服务器之间的会话的几个选项 −

Cookies

Web 服务器可以为每个 Web 客户端分配一个唯一的会话 ID 作为 cookie,对于来自客户端的后续请求,可以使用收到的 cookie 进行识别。

这可能不是一种有效的方式,因为浏览器有时不支持 cookie。不建议使用此过程来维护会话。

隐藏表单字段

Web 服务器可以发送隐藏的 HTML 表单字段以及唯一的会话 ID,如下所示 −

<input type = "hidden" name = "sessionid" value = "12345">

此条目意味着,提交表单时,指定的名称和值会自动包含在 GETPOST 数据中。每次 Web 浏览器发回请求时,session_id 值可用于跟踪不同的 Web 浏览器。

这是一种跟踪会话的有效方法,但单击常规 (<A HREF...>) 超文本链接不会导致表单提交,因此隐藏的表单字段也无法支持一般会话跟踪。

URL 重写

您可以在每个 URL 末尾附加一些额外数据。这些数据标识会话;服务器可以将该会话标识符与其存储的有关该会话的数据相关联。

例如,对于 http://tutorialspoint.com/file.htm;sessionid=12345,会话标识符附加为 sessionid = 12345,可在 Web 服务器上访问该标识符以识别客户端。

URL 重写是一种更好的维护会话的方法,适用于不支持 cookie 的浏览器。这里的缺点是,尽管页面是一个简单的静态 HTML 页面,但您必须动态生成每个 URL 以分配会话 ID。


相关文章