Cookies也可以称为Cookie,指某些网络为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据。
一个Cookies就是储存在用户主机浏览器中的文本文件。Cookies是纯文本形式,他们不包含任何可以执行代码。服务器告诉浏览器将这些信息储存,并且每个请求中都将该信息返回到服务器。服务器之后可以利用这些信息来标识用户。多数需要登陆的网站通常会在用户登录后将用户信息写入Cookies,只要这个Cookies存在并且合法,就可以自由地浏览这个网站地所有站点。Cookies只包含数据,就其身份而言并不有害。
服务器可以利用Cookies包含的信息判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登陆网站和保留用户信息以便简化登录手续。
一般Cookies所具有的属性如下:
- Domain:域,表示当前Cookies属于那个域或子域下面。
- Path:表示Cookies的所属路径。
- Expire Time/Max-Age:表示Cookies的有效期。
- Secure:表示该Cookies只能用HTTP传输
- Httponly:表示此Cookies必须是HTTP或HTTPS传输
- HasKeys:通过该值指示Cookies是否含有子健,返回一个bool值
- Name:表示Cookies的名称
- Value:单个Cookie的值
- Values:单个Cookies所包含的键值对的集合
Cookies的优点如下:
- 极高的扩展性和可用性
- 通过良好地编程控制控制保存在Cookies中的Session对象的大小
- 通过加密和安全传输技术(SSL)减少Cookie被破解的可能性
- 只在Cookie中存放不敏感数据,即使被盗也不会有重大的损失
- 可以控制Cookie的生命期,使之不会永远有效
Cookies的缺点如下:
- Cookies数量和长度的限制,每个domain最多只能有20条Cookie,每个Cookie长度不能超过4KB,否则会被裁掉
- 安全性问题。如果Cookie被拦截,就有可能被取得所有的Session信息。
- 某些状态不可保存在客户端中。例如,为了防止重复提交表单,需要在服务器端保存一个计数器。如果把这个计数器保存在客户端,那么它起不到任何作用。
·
··
·
·
·文章摘选自《实战Python网络爬虫》,仅用于个人学习笔记。