cookie
是什么?
1 | 存储在客户端浏览器上的键值对 |
原理
1 | 是服务器产生,发给客户端浏览器,浏览器保存起来,下次发请求,会携带这个键值对到服务器 |
Cookie的覆盖
1 | 先写了一个键值对,后来再写,会把原来的值覆盖掉 |
cookie使用
添加cookie
1 | 写cookie:在Httpresponse这个对象上写 |
添加cookie的路由
1 | url(r'^set_cookie/', views.set_cookie), |
添加cookie的视图函数
1 | def set_cookie(request): |
提取cookie
1 | 从request对象中取,取出来是个字典request.COOKIES |
提取cookie的路由
1 | url(r'^get_cookie/', views.get_cookie), |
提取cookie的视图函数
1 | def get_cookie(request): |
删除cookie
1 | obj.delete_cookie('name') |
简单的cookie登录认证的装饰器
cookie登录认证的装饰器视图层
1 | def login_auth(func): |
cookie登录认证的装饰器路由层
1 | url(r'^login/', views.login), |
加强版的cookie登录认证的装饰器
加强版的cookie登录认证的装饰器视图层
1 | def login_auth(func): |
cookie其他参数
加盐cookie,salt参数
加盐cookie路由
1 | url(r'^salt_cookie/', views.salt_cookie), |
加盐cookie视图函数
1 | def salt_cookie(request): |
cookie过期时间
cookie路由
1 | url(r'^set_cookie_time/', views.set_cookie_time), |
cookie视图函数 max_age 传入一个秒的时间
1 | def set_cookie_time(request): |
cookie视图函数 expires 传入一个datatime对象
1 | from datetime import datetime |
cookie的生效路径 path
cookie的生效路径路由
1 | url(r'^shopping/', views.shopping), |
cookie的生效路径视图函数
1 | def set_shopping_cookie(request): |
domain 设置域名
1 | 下有效domain='map.baidu.com' |
secure = False,
1 | 默认是false,设置成True浏览器将通过HTTPS来回传cookie |
httponly=True
1 | 只能https协议传输,无法被JavaScript获取(不是绝对,底层抓包可以获取到也可以被覆盖) |