HTTP状态保持,cookie和session

       首先我们要知道Http是无状态的,就是连接时数据进行交互,关闭后服务端课客户端彼此不认识彼此,或者说永久性失忆,那么为什么http是无状态的呢?因为浏览器和服务器之间用的是socket通信,也就是TCP通信,一旦关闭浏览器,四次挥手之后,服务器将请求给的数据发送给了浏览器之后,会关闭当前的socket,而且服务器也在会处理页面之后销毁页面对象。

什么是状态保持:

       状态保持就是用户请求时,浏览器.服务器知道这个用户之前做过什么,会把用户的浏览状态保持下来.。比如 :你访问了京东并登录,当你点击某个链接,进入新的页面,他没有让你重新输入账号密码,新页面是显示的已登录状态,这就是所谓的状态保持。

如何实现状态保持:

这就涉及浏览器跟服务器之间保持状态的方法,也就是cookie。还有另外一种实现状态保持的是session。

一、cookie

     1、在用户登录之后,浏览器返回响应的时候会在响应中添加上cookie
     2、浏览器接收到cookie之后会自动保存
     3、当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookie
     4、服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录

二、session

       cookie保存在浏览器,每次访问网站都会将本地保存cookies值(一般用来存储用户个人信息)发送到网站,不安全。这个时候也就产生了session。Seesion虽然依赖cookie存在,但它保存在服务器上,比cookie更安全。而且session存的数字不会转成字符串,而cookie存值会转为字符串。

猜你喜欢

转载自blog.csdn.net/sayoko06/article/details/82979240