目录
Cookie
就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。 服务器在接收到Cookie
以后,会验证Cookie
的信息,以此来辨别用户的身份。
Cookie
可以理解为一个临时通行证。
每一次HTTP请求在数据交换完毕之后就会关闭连接,所以下一次HTTP请求就无法让服务端得知你和上一次请求的关系。而使用了Cookie
之后,你在第一次登陆之类的请求成功之后,服务器会在Response
的头信息中给你返回Cookie
信息,你下一次访问的时候带上这个Cookie信息,则服务器就能识别你为上一次成功登陆的用户。
-
name:
Cookie
的名称 -
value:
Cookie
的值 -
domain:可以使用此
Cookie
的域名 -
path:可以使用此
Cookie
的页面路径 -
expires/Max-Age:此
Cookie
的超时时间 -
secure:设置是否只能通过https来传递此条
Cookie
例如baidu.com是一个顶级域名,而www.baidu.com和map.baidu.com就是二级域名,依次类推。
而在我们的Cookie
来说,都有一个domain
属性,这个属性限制了访问哪些域名时可以使用这一条Cookie
。因为每个网站基本上都会分发Cookie
,所以domain
属性就可以让我们在访问新浪时不会带上百度分发给我们的Cookie
。
而在同一系的域名中,顶级域名是无法使用其二级域名的Cookie
的,也就是说访问baidu.com的时候是不会带上map.baidu.com分发的Cookie
的,二级域名之间的Cookie
也不可以共享。但访问二级域名时是可以使用顶级域名的Cookie
的。
path属性为可以访问此cookie的页面路径。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie。
字段为此cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。
-
-
将
Cookie
保存,可以保存到内存、文件、数据库中 -
在想要使用
Cookie
的项目中,从保存的地方取出Cookie
进行应用
PS
我们所说的使用Cookie
进行实现登陆,都是需要服务端支持的,也就是说服务器给我们的Cookie
有一个时间段的生命周期,这样我们保存下来的cookie才能在下次继续使用。
而有一些安全要求较高的网站,例如银行网站。是不支持cookie登陆的。