理解cookie
什么是cookie
客户端如果要向服务器发起请求,如果服务器需要记录该用户的状态,就使用response向客户端发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再次请求网站时,浏览器把请求的网站连同该Cookie一同提交给服务器。服务器检测该Cookie,来辨认用户的状态。
cookie机制
用户第一次访问并登陆一个网站时,cookie的设置以及发送会经历4个步骤:
- 客户端发送一个请求到服务器
- 服务器发送一个HttpResponse响应到客户端,其中包含Set-Cookie的头部
- 客户端保存cookie,之后再向服务器发送请求时,HttpRequest请求会包含一个cookie的头部
- 服务器返回响应数据
cookie的属性
- name字段:一个cookie的名称
- value字段: 一个cookie的值
- domain字段:可以访问此域名的cookie值
- path字段:可以访问此cookie的页面路径,比如domain是abc.com,path是/test那么只有/test路径下的页面可以读取cookie
- expires/Max-Age字段:为cookie失效时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话,默认是Session,意思是cookie会和session一起失效。
- size字段:此cookie的大小
- httpOnly字段:若为true,则只有在http请求头中会带有cookie的信息,而不能通过document.cookie来访问此cookie
- secure字段:是否只能通过https来传递此cookie.