cookie解决了什么问题
http最初是一个无状态的请求/响应协议。web服务器响应客户端的请求,然后向客户端返回一条响应。web服务器几乎没有任何信息可以判断请求是哪个用户发出的。
到目前为止,cookie是识别用户,实现持久化会话的最好方式。
cookie的产生
在1994,网景公司的工程师Lou Moutulli遇到了和我们一样的问题,他凭借的高超的编程技术和思想设计出了第一个版本的cookie:magic cookie。
cookie在请求/响应中追踪会话
- 首次访问web服务器的时候,http头不会携带cookie。
- 服务器设置cookie: setcookie('cookie_name', 'cookie_value');
- 再次请求携带cookie:
cookie的属性
属性 | 描述及实例 |
---|---|
domain | 定义可访问该cookie的域名。服务器可以将cookie限制在特定域中。例如设置Domain为 .bigsite.com ,则sub1.bigsite.com和sub2.bigsite.com都可以访问已保存在客户端的cookie,这时还需要将Path设置为/。 |
path | 可选。通过这个属性可以为服务器上的特定文档指定cookie。默认值是响应的url路径。如:路径"/foo"匹配与"/foobar 和 "/foo/bar.html;路径 "/"匹配与域中所有内容。 |
NAME=VALUE | 强制的。web服务器可以创建任意的NAME=VALUE关联,可以在后续的访问中将其发回给web服务器。"$"是保留字符,所以名字一定不能以它开头。 |
size | cookie的大小。和web服务器的设置有关,默认大小不超过4kb。 |
expires | 可设置cookie的过期时间 |
secure | 如果包含这个属性了,只有在http使用ssl安全连接时才能发送cookie。 |
version | cookie的版本号 |
以上是自己的一个学习记录,有错误的地方欢迎大家指出,希望能够对看到的人有所帮助!