cookie和session的简单介绍

2019-08-27  本文已影响0人  福球大王

cookie的简单介绍

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

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

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

cookie的机制

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

cookie特点

session的简单介绍

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

session的用途

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

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

session工作流程

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

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

上一篇 下一篇

猜你喜欢

热点阅读