维持会话的不同方式

时间:2015-01-13 13:47:18

标签: session

在浏览器中维护会话的不同方法有哪些?

考虑一个场景; 我正在浏览Firefox中的安全站点,浏览器崩溃了。现在,当我再次打开浏览器并执行还原选项卡时,我之前的会话还原了吗?这是由浏览器自动处理还是基于代码?

我们也可以根据标签关闭与窗口关闭等控制会话

在服务器上维护会话与在客户端维护会话之间是否存在任何连接?

1 个答案:

答案 0 :(得分:0)

What are the different ways of maintaining session in a browser?

维护会话的不同方法是: -

Cookies(最标准方式) 网址重写 Html表单隐藏字段

  

考虑一个场景;我正在浏览Firefox和安全网站   浏览器崩溃。现在当我再次打开浏览器并进行恢复时   标签,我以前的会话恢复了吗?这是处理   是由浏览器自动还是基于代码?

如果是基于cookie的话,它会由浏览器自动处理,否则你将管理它。

  

我们也可以根据标签关闭与窗口关闭等控制会话

在服务器上你可以按时间控制会话,意味着什么时候它会无效,但如果你想做一些会在关闭标签时无效会话然后根据我你可以在javascript中绑定关闭事件然后删除cookie曾经用来管理会话,PHPSESSION(在php的情况下)

  

在维护服务器与会话之间是否存在任何连接   在客户端有同样的情况吗?

Yup :) ,,

当你创建一个会话实际上你正在发送一个cookie时,我会解释它,

认为你是用php编写的,并且你创建了一个会话,现在发生的事情是: - 一个文件将在服务器上创建(文件是在php中进行hanlde会话的默认方式,但你也可以改变它)和一个唯一的id也将在服务器上创建将重新启动该会话,认为你创建一个会话,所以一个文件将创建名称sjflsj3lrh324l2hjlskdjfl3hl.session和一个唯一的ID也将创建ex: - sjflsj3lrh324l2hjlskdjfl3hl现在当你在会话中存储任何你实际上正在stroing这个文件,当你向浏览器发送响应时,你也会在浏览器上发送一个cookie,cookie的值就是这个id,所以下次当你重新打开那个网页时,浏览器会首先检查是否有任何从这个网址收到的cookie域名之前,如果是,然后发送请求,然后在服务器PHP将检查请求是否包含任何cookie?如果是,那么它将检查该名称文件是否存在,如果存在意味着存在会话,它将打开该文件,并且保存在其中的所有变量值将在php变量中恢复,

这是一个简短的讨论,你可以google mroe关于它,谢谢:)