Cookie和Session 的作用是什么? 解决了什么问题

78 阅读2分钟

背景

Cookie和Session都是为了在客户端与服务器之间保持状态而诞生的技术,它们解决了HTTP无状态性质导致的问题

由于HTTP是无连接的,每个请求和响应都是独立的,当请求结束连接就会中断,这样就无法在两次请求之间维持任何状态或数据。

Cookie

Cookie是由服务器发送到浏览器并保存在浏览器上的一小段文本信息,用于记录用户的状态。

例如,当用户登录网站时,服务器可能会创建一个包含用户ID的Cookie,并将其发送回用户的浏览器。

之后,每当浏览器向服务器发送请求时,它都会自动将这个Cookie一起发送,这样服务器就能够识别用户并跟踪其状态。

Session

Session则是服务器端的一种技术,它在服务器上创建了一个特定于用户会话的对象。

当用户首次访问应用时,服务器会创建一个新的Session对象,并将其存储在服务器的内存中。

随后,服务器会在响应头中设置一个名为"Set-Cookie"的字段,其中包含了Session ID。

当用户再次访问应用时,浏览器会自动将这个Session ID发送回服务器,以便服务器能够找到对应的Session对象。

Flask-Session

使用python flask开发的web后端服务, 后端生成的session存放在哪

在Python Flask中,后端生成的session默认是存放在服务器的内存中的。

Flask使用了一个Werkzeug提供的SecureCookie对象来处理session数据的存储和传输

总结

Cookie和Session通过各自的方式(在客户端或服务器端)保持了用户状态,使服务器能够跟踪每个用户的操作,从而改进用户体验并提供个性化服务。