HTTP状态保持的原理

       首先我们要知道Http是无状态的,就是连接时数据进行交互,关闭后服务端课客户端彼此不认识彼此,或者说永久性失忆,那么为什么http是无状态的呢?因为浏览器和服务器之间用的是socket通信,也就是TCP通信,一旦关闭浏览器,四次挥手之后就销毁所有交互信息(这里涉及TCP的三次握手和四次挥手,感兴趣童鞋可以自行查阅相关资料)。这就涉及浏览器跟服务器之间保持状态的方法,也就是cookie。具体分为以下四个步骤:

     1、在用户登录之后,浏览器返回响应的时候会在响应中添加上cookie

     2、浏览器接收到cookie之后会自动保存

     3、当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookie

     4、服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录

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

猜你喜欢

转载自blog.csdn.net/chengqiang20152015/article/details/81110421