美文网首页
cookie和session的简单介绍

cookie和session的简单介绍

作者: 福球大王 | 来源:发表于2019-08-27 15:17 被阅读0次

cookie的简单介绍

cookie是存储于访问者计算机中的变量,可以让我们用同一个浏览器访问同一个域名的时候共享数据

HTTP是无状态协议,简单来说,当你浏览一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器访问同一个网站(就是这么笨~)。也就是说,每一次的访问,都是没有任何关系的。

举个例子,你登录京东,然后跳转到买东西的页面,默认是不会保存你的登录状态的,需要用cookie,或session来保存登录状态。

cookie的机制

当访问一个页面的时候,服务器在下行HTTP报文中,命令浏览器存储一个字符串;浏览器再次访问同一个域的时候,将把这个字符串携带到上行HTTP报文中。第一次访问一个服务器,不可能携带cookie。必须是服务器得到这次请求,在下行响应报头中,携带cookie信息,此后每一次浏览器往这个服务器发出的请求,都会携带这个cookie。

cookie特点

  • cookie保存在浏览器本地(如果没有设置过期时间的话,重启浏览器cookie还是会在)
  • 默认的cookie是不加密的,用户可以自由看到
  • 用户可以删除cookie或禁用它
  • cookie可以被篡改,安全性较低(可以改善)
  • cookie可以用于攻击
  • cookie存储量很小,未来实际上要被localStorage替代

session的简单介绍

session是另一种记录客户状态的机制,不同于cookie的是,cookie是保存在客户端浏览器中,而session是保存在服务器中

session的用途

session运行在服务器端,当客户端第一次访问服务器时,可以将客户的登录信息保存,当客户访问其他页面时,可以判断客户的登录状态,做出提示,相当于登录拦截。

session可以和Redis或者数据库等结合做持久化操作,当服务器挂掉时也不会导致某些客户端信息(如购物车信息)丢失。

session工作流程

当浏览器访问服务器并发送第一次请求时,服务端会创建一个session对象,生成一个类似于key、value的键值对,然后将key返回给浏览器并保存到cookie中;浏览器下次再访问时,携带key,找到相应的value。客户信息都保存在session里。

当浏览器重启,session保存的信息就都没有了,这点和cookie不一样,cookie如果没到过期时间,会一直存在,不管是否重启。

相关文章

网友评论

      本文标题:cookie和session的简单介绍

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