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