Cookie


HTTP被设计为”无状态”, 在一次请求和下一次请求之间没有任何状态保持,我们无法根据请求的任何方面(IP地址,用户代理等)来识别来自同一人的连续请求。我们会从较低的层次(cookies)开始,然后过渡到用高层的工具来搞定会话,用户和注册的问题。


Cookies

cookies 是浏览器为 Web 服务器存储的一小段信息。 每次浏览器从某个服务器请求页面时,它向服务器回送之前收到的cookies
原理

GET / HTTP/1.1
Host: google.com
HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: PREF=ID=5b14f22bdaf1e81c:TM=1167000671:LM=1167000671;
            expires=Sun, 17-Jan-2038 19:14:07 GMT;
            path=/; domain=.google.com
Server: GWS/2.1
GET / HTTP/1.1
Host: google.com
Cookie: PREF=ID=5b14f22bdaf1e81c:TM=1167000671:LM=1167000671

存取cookie

取cookie,每一个HttpRequest 对象都有一个COOKIES 对象,该对象的行为类似一个字典,你可以使用它读取任何浏览器发送给视图(view)的cookies

def show_color(request):
    if "favorite_color" in request.COOKIES:
        return HttpResponse("Your favorite color is %s" %             request.COOKIES["favorite_color"])
    else:
        return HttpResponse("You don't have a favorite color.")

写cookies,你需要使用 HttpResponse对象的 set_cookie()方法。 这里基于 GET 参数来设置 favorite_color

def set_color(request):
    if "favorite_color" in request.GET:

        # Create an HttpResponse object...
        response = HttpResponse("Your favorite color is now %s" %             request.GET["favorite_color"])

        # ... and set a cookie on the response
        response.set_cookie("favorite_color",
                            request.GET["favorite_color"])

        return response

    else:
        return HttpResponse("You didn't give a favorite color.")

你可以给 response.set_cookie() 传递一些可选的参数来控制cookie的行为

参数 缺省值 描述
max_age none cookie需要延续的时间(以秒为单位)
expires none cookie失效的实际日期/时间
path / cookie生效的路径前缀
domain none 这个cookie有效的站点
False false 如果设置为 True,浏览器将通过HTTPS
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 细说Cookie 阅读目录 开始 Cookie 概述 Cookie的写、读过程 使用Cookie保存复杂对象 Js...
    拉肚阅读 4,844评论 0 4
  • HTTP cookie(也称为web cookie,网络cookie,浏览器cookie或者简称cookie)是网...
    留七七阅读 18,348评论 2 71
  • 大好的五月,众多节日重磅来袭,520成了撩妹脱单的大好节日。 奈何撩妹总失败,看看这些就知道有多囧了…… 故事是这...
    imian爱喝果汁阅读 3,089评论 6 4
  • 天空刚泛起一丝鱼肚白,夏檬便被叮叮作响的闹钟吵醒。她不予理会,扯过被子蒙住头,可无奈即使堵住了耳朵还是能听见那一连...
    夜雨筱筱z阅读 3,573评论 0 0
  • 秋风萧瑟,落叶是一日一日地铺散在道路两旁,仿若扫不去的。我向来是不大喜欢十一月了。我爱九月初秋的凉风,带着丝丝温...
    文穆清阅读 3,579评论 0 1

友情链接更多精彩内容