linux-servers-04 session和cookie

linux-servers-04 session和cookie

概念解析

  位于用户的计算机上,用来维护用户计算机中的信息,直到用户删除。比如我们在网页上登录某个软件时输入用户名及密码时如果保存为cookie,则每次我们访问的时候就不需要登录网站了。我们可以在浏览器上保存任何文本,而且我们还可以随时随地的去阻止它或者删除。我们同样也可以禁用或者编辑cookie,但是有一点需要注意不要使用cookie来存储一些隐私数据,以防隐私泄露

session

  session称为会话信息,位于web服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求http地址时,将传递到web服务器上并与访问信息进行匹配, 当关闭网站时就表示会话已经结束,网站无法访问该信息了,所以它无法保存永久数据,我们无法访问以及禁用网站

共同点

session和cookie都用于会话保持。

session与cookie的区别

(1)Cookie以文本文件格式存储在本地浏览器中,而session存储在远端服务器,它存储了限制数据量。它只允许4kb它没有在cookie中保存多个变量。

(2)cookie的存储限制了数据量,只允许4KB,而session是无限量的

(3)我们可以轻松访问cookie值但是我们无法轻松访问会话值,因此它更安全

(4)设置cookie时间可以使cookie过期。但是使用session-destory(),我们将会销毁会话。

  总结:如果我们需要经常登录一个站点时,最好用cookie来保存信息,要不然每次登陆都特别麻烦,如果对于需要安全性高的站点以及控制数据的能力时需要用会话效果更佳,当然我们也可以结合两者,使网站按照我们的想法进行运行。

数据的转发

在OSI七层模型中,数据包的转发分为四层代理和七层代理。

四层代理:效率高,数据包封装到四层转发给后端。
七层代理:效率相对较低,数据包封装到七层转发给后端。

  在登录某网站时,发送请求报文,接受响应报文(内含cookie),web服务器保存了cookie对应的值,将cookie存在本地浏览器中,刷新页面就不用再次输入密码账号了。但是如果刚刚登录的是web1,而且还是用的四层代理,那么刷新页面后,由于cookie工作在4层以上,代理服务器识别不了,不知道该和转发给web1还是web2,如果转发给web2了,你就得再次输入账号和密码进行登录。所以用七层代理就不会有这个问题,用七层代理时,刷新页面后,代理服务器可以识别出应该转发给web1还是web2,从而使得数据包转发给上一次登录的服务器,这样就不用再次输入账号和密码。

本篇到此结束

欢迎打赏,谢谢
------ 本文结束------
0%