cookie和session
cookie
HTTP是无连接的(无连接指的就是每一次访问服务器的时候都需要重新进行身份验证),每一次访问浏览器的时候,都要向服务器发送请求,连接后会立即断开。
此时有一个问题,由于HTTP是无连接的,所以服务器不知道你是谁。
解决的办法很简单,我们在第一次发送请求的时候,服务器会下发一个Response头部,也就是我们的下行响应内容
Set-Cookie:username=xiaoming
在下行响应的过程中,cookie信息是在浏览器中进行存储的,第一次进行请求的时候如果cookie中没有携带后端需要的信息,需要登录提交之后通过后端返回的set-cookie信息进行设置,后再次请求的时候服务器就认识了这个请求地址
Cookie:username=xiaoming
第一次浏览器在response的时候会返回对应的set-cookie的信息
第一次登陆后在进行请求的时候都会带着这个cookie进行登录,服务器认识这个cookie后不会阻止程序运行
但是cookie有一个很大的问题,就是cookie保密性特别差,如果将用户信息存储到cookie上,会被黑客“偷”下来,盗取你的信息内容
session
session是依赖于cookie的,session是密文,cookie是明文,session一般用来保存当前登录人的状态信息
将所有的cookie信息整合成一个密文状态
总结:
- cookie和session都是和浏览器本地存储打交道的,目的就是用于存储一些本地的信息,有明文有密文,
- cookie是明文存储,保密性差,session是依赖于cookie的,而且返回的是密文状态,将所有的信息统一返回给一个PHPSESSID的值
- 根据需要的不同使用cookie和session进行存储