美文网首页
Session 和 Cookie 的区别,Session 的工作

Session 和 Cookie 的区别,Session 的工作

作者: 你这个人真的是 | 来源:发表于2017-08-03 17:21 被阅读0次

      简单来说,session 是数据存放在服务器的,而cookie 是数据存在在客户端浏览器的。

      举个例子,客户在某一网页上登录并注册登录了,浏览器会保存客户的用户名和密码,在一定时间内,客户再次访问这个网站时,浏览器会自动输入用户名和密码,这就是cookie 的作用。cookie  是自带浏览器的功能。

      再举个session 的例子:客户通过用户名密码访问了某个网站,此时,如果我再打开这个网页,你会发现是可以不用登录直接进入网页的。session 大多是后端人员的工作了。

       那么session 的工作机制是什么呢。简单的说,每个服务器会有很多个客户端,不同的客户端会有不同的操作权限。那么客户端要如何通过不同的客户返回不同的数据呢?当客户端访问一个页面时,会向服务器发送一个请求时,服务器接收到请求后进行数据的处理将结果发送给客户端。返回的结果中会包含一个 session_id  的值,并将这个session_id 和它的user 绑在一起,而客户端 cookie  将保存这个session_id。所以当客户端再次请求时,会带上session_id,服务器根据session_id 将用户相应的数据返回给用户。

       那么session 超时服务器又做了那些工作呢。 当用户登录超时了,服务器便会把带有session_id 的user  记录给删除,这时用户访问这个页面时,服务器找不到这个session_id 了,于是服务器便返回登录页面,当用户再次登录时会生成一个新的 session_id。同样的,用户自动退出时,服务器也是会删除 带有session_id的user 记录。

       那么问题来了,有时session 超时,又有iframe,登录页会在iframe  里出现,而不是在整个窗口中弹出。解决办法,在登录页面上加上如下代码:

if(window !=top){

         top.location.href=location.href;

}

相关文章

网友评论

      本文标题:Session 和 Cookie 的区别,Session 的工作

      本文链接:https://www.haomeiwen.com/subject/hndkcxtx.html