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


以下是维护 Web 客户端和 Web 服务器之间会话的一些选项:

Cookies

Web 服务器可以为每个 Web 客户端分配一个唯一的会话 ID 作为 Cookie,并在客户端后续的请求中,可以使用接收到的 Cookie 来识别它们。

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

隐藏表单字段

Web 服务器可以发送一个隐藏的 HTML 表单字段,并附带一个唯一的会话 ID,如下所示:

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

这意味着,当表单提交时,指定的名称和值会自动包含在 **GET** 或 **POST** 数据中。每次 Web 浏览器发送请求时,都可以使用 **session_id** 值来跟踪不同的 Web 浏览器。

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

URL 重写

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

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

URL 重写是维护会话的更好方法,并且在浏览器不支持 Cookie 时也能正常工作。这里的缺点是,您必须动态生成每个 URL 以分配会话 ID,即使页面是一个简单的静态 HTML 页面。

更新于: 2019 年 7 月 30 日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.