cookie是什么?
Cookie实际上是一小段的文本信息。
http协议本身是无状态的。无状态是指Web浏览器与Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(Response),连接就被关闭了,在服务器端不保留连接的有关信息。也就是说,HTTP请求只能由客户端发起,而服务器不能主动向客户端发送数据。
客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。
由于http协议本身是无状态的,这意味着http并不需要和客户端建立长久的连接,当客户端向web服务器发送请求,web服务器响应response后连接就会被切断,并且服务器不会记录客户端的状态,在下一次客户端请求时需要重复此步骤,这时候就需要cookie来快速辨别客户端的身份。
cookie相当于客户端的“身份证”,有了cookie,服务器就能检查用户的身份是否合法。
cookie有什么用?
cookie允许网站记住你的偏好并且为你提供更个性化的体验。例如,如果你在初次访问网站时选择深色模式且已经接受该网站的Cookie,当你下次打开这个网站时会自动跳呈深色模式。
cookie运行机制
当客户端首次访问网页,即向web服务器发送请求时服务器会向客户端响应并发送一个cookie头部,客户端会保存这个头部,下次请求时会将头部一起发送给web服务器,方便服务器确认身份后回应。
cookie属性
- Name:这个是cookie的名字
- Value:这个是cookie的值
- Path:该 Cookie 是在当前的哪个路径下生成的,如 path=/wp-admin/
- Expires:这个值表示cookie的过期时间,也就是有效值,cookie在这个值之前都有效,这个值单位为秒
- Size:这个表示cookie的大小
- Secure 如果设置了这个属性,那么只会在 SSL 连接时才会回传该 Cookie
cookie的各项属性保证了用户下次登录时可以不需要再次进行验证,以及保留用户的个性化设置。
cookie域名
Cookie是不可以跨域名的,隐私安全机制禁止网站非法获取其他网站的Cookie。