Cookie
客户端的会话技术
cookie本身由浏览器保存,通过Response将cookie写到浏览器上,下一次访问,浏览器会根据不同的规则携带cookie过来
特点:
- 客户端会话技术
- 数据全都是存储在客户端中
- 存储使用的是键值对结构进行的存储
- 特性
- 支持过期时间
- 默认会携带本网站的所有cookie
- 不能跨域名
- 不能跨浏览器
- Cookie是通过服务器创建的Response来创建的
设置cookie:
response.set_cookie(key,value, max_age=None,exprise=None)
获取cookie:
request.cookies.get(key)
删除cookie:
response.delete_cookie(key)
Session
服务端会话技术,依赖于cookie
特点:
- 服务端的会话技术
- 所有数据存储在服务器中
- 默认存储在内存中
- django是默认做了数据持久化(存在了数据库中)
- 存储结构也是key-value形式,键值对
- session 是离不开cookie的
Flask中的session是全局对象
(request是Flask的一个全局变量)
常用操作
设置session:
session['key'] = 'value'
获取session
session.get(key, default=None) 根据键获取会话的值
删除session
session.pop(key) 删除某一值
session.clear() 清除所有
cookie和session的区别:
cookie:
1.在浏览器存储
2.安全性较低
3.可以减轻服务器压力
session:
1.在服务器端存储
2.安全性高
3.对服务器要求较高
4.依赖于cookie