Last updated
Last updated
environ demo
测试时可以先将部分 key 剔除
Django 中 cookie 的保存和存取
保存 cookie: 通过 HttpResponse 类的对象的 set_cookie 方法保存
读取 cookie:通过 HttpRequest 请求对象的 COOKIES 属性(字典类型)读取
django/core/handlers/wsgi.py
解析 cookie:django/http/cookie.py:parse_cookie
django/http/cookie.py
Django 是获取到 cookie 字符串,然后将字符串解析为 Dict,不过 Django 在解析时,如果只指定了一个属性,则假定而不是,详情如下
django/core/handlers/wsgi.py:WSGIHandler
django/http/response.py:HttpResponseBase
Bottle 获取 cookie 时,是通过官方库 Cookie(Python 2.7 自带) 中 SimpleCookie 封装,然后再解析为 dict
Cookie 是取的 environ["HTTP_COOKIE"] ,这个值是个 String ,很多框架获取 cookie 都是在 request 类中进行实现的
Butterfly 解析 Cookie 时也是放到了 request 类中实现,此处借鉴了 Django 的实现,不过解析到的 cookie item 中,如果 item 没有 "=" , 则会过滤掉
标准的 Set-Cookie Header:
Cookies 可选属性
响应首部 被用来由服务器端向客户端发送 cookie