1. cookie概念
- Cookie是一段文本信息,客户端请求服务器时,如果服务器需要记录用户状态,就在响应用户请求时发送一段Cookie信息。
- 客户端浏览器保存该Cookie信息,当用户再次访问该网站时,浏览器会把Cookie作为请求信息的一部分提交给服务器
- 服务器检查 Cookie 内容,以此来判断用户状态,服务器还会对Cookie信息进行维护,必要时会对Cookie内容进行修改。
2. Cookie的特点
- 存储在浏览器中,浏览器记录上次请求的数据,下一次请求发给后台,并记录这次返回的信息,也可以记录一些不重要的信息,为后台减轻存储压力。
- 存储容量较小,cookie由于每次请求都要向后台发送数据,所以容量要有限制,否则会大大降低网络传输效率。
- 安全性低(可以修改或者伪造),由于数据在浏览器中存储,任何人都可以随意进行更改,达到欺骗后台的目的,所以cookie存储一些不太重要的信息,对于一些重要信息要进行防篡改和加密处理。
3. Cookie的实现原理
- Cookie定义了一些HTTP请求头和HTTP响应头,通过这些HTTP头信息使服务器可以与客户端进行状态交互。
- 客户端请求服务器后,如果服务器需要记录用户状态,服务器会在响应信息中包含一个Set-cookie 的响应头,客户端会根据这个响应头存储Cookie信息。
- 再次请求服务器时,客户端会在请求信息中包含一个Cookie请求头,而服务器会根据这个请求头进行用户身份、状态等校验。