1、Cookies
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,这样服务器可以知道该用户是否是合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。
cookie的作用
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。
1.基本操作
Cookie的操作
简单来说,Cookie 是保存在浏览器的一个键值对,每次的HTTP请求都会携带 Cookie 。
获取所有的Cookies
self.cookies
设置Cookie
self.set_cookie(self, name, value, domain=None, expires=None, path="/", expires_days=None, **kwargs) #get_cookie, set_cookie普通的设置cookie, clear_cookie, clear_all_cookies是删除cookie。
可接受的参数描述:
| 参数 | 描述 |
|---|---|
name |
Cookie的Key |
value |
Cookie的value |
domain |
生效的域名 |
expires |
以秒为过期时间,默认从 1970-01-01T00:00:10.000Z
|
path |
生效路径 |
expires_days |
以天数过期时间,如果设置为 None 则关闭浏览器Cookie就失效 |
例子:
class MainHandler(tornado.web.RequestHandler): def get(self): if not self.get_cookie("mycookie"): self.set_cookie("mycookie", "myvalue") self.write("Your cookie was not set yet!") else: self.write("Your cookie was set!")