背景
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通过各自的方式(在客户端或服务器端)保持了用户状态,使服务器能够跟踪每个用户的操作,从而改进用户体验并提供个性化服务。