Django之cookie和session
Django协议是无状态的。下一次去访问一个页面时并不知道上一次对这个页面做了什么。 无状态的 应用层面的原因 是:浏览器和服务器之间的通信都遵守HTTP协议。 根本原因 是:浏览器与服务器是使用Socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的Socket连接,而且服务器也会在处理页面完毕之后销毁页面对象。 有时需要保存下来用户浏览的状态,比如用户是否登录过,浏览过哪些商品等。 实现状态保持主要有两种方式: 在客户端存储信息使用Cookie。 在服务器端存储信息使用Session。 cookie cookie及其使用 cookie是由服务器生成,存储在浏览器端的一小段文本信息。 cookie的特点: 1)以键值对方式进行存储。 2)通过浏览器访问一个网站时,会将浏览器存储的跟网站相关的所有cookie信息发送给该网站的服务器。request.COOKIES 3)cookie是基于域名安全的。 www.baidu.com www.tudou.com 4)cookie是有过期时间的,如果不指定,默认关闭浏览器之后cookie就会过期。 cookie使用示例 设置cookie [url=] [/url] def set_cookie(request): """ 设置cookie信息 """ response = HttpResponse( " 设置cookie