我们如何维护Web客户端和Web服务器之间的会话?
以下是维护Web客户端和Web服务器之间的会话的一些选项-
饼干
Web服务器可以将唯一的会话ID作为cookie分配给每个Web客户端,对于来自客户端的后续请求,可以使用接收到的cookie来识别它们。
这可能不是一种有效的方法,因为浏览器有时不支持cookie。不建议使用此过程来维护会话。
隐藏表格栏位
Web服务器可以发送隐藏的HTML表单字段以及唯一的会话ID,如下所示-
<input type = "hidden" name = "sessionid" value = "12345">
此项表示提交表单时,指定的名称和值将自动包含在GET或POST数据中。每次Web浏览器将请求发送回时,session_id值都可用于跟踪不同的Web浏览器。
这可能是跟踪会话的有效方法,但是单击常规(<AHREF...>)超文本链接不会导致提交表单,因此隐藏的表单字段也无法支持常规会话跟踪。
URL重写
您可以在每个URL的末尾附加一些额外的数据。该数据标识会话;服务器可以将该会话标识符与其已存储的有关该会话的数据相关联。
例如,使用http://nhooo.com/file.htm;sessionid=12345,将会话标识符附加为sessionid=12345,可以在Web服务器上对其进行访问以标识客户端。
URL重写是维护会话的一种更好的方法,并且在浏览器不支持cookie时适用于它们。此处的缺点是,尽管页面是一个简单的静态HTML页面,但您必须动态生成每个URL才能分配会话ID。