cookie其实就是一些数据信息;类型为“小型文本文件”;存储于电脑上的文本文件中。
当我们打开一个网站时;如果这个网站我们曾经登录过;那么当我们再次打开网站时;发现就不需要再次登录了;而是直接进入了首页。例如bilibili;csdn等网站。
这是怎么做到的呢?其实就是游览器保存了我们的cookie;里面记录了一些信息;当然;这些cookie是服务器创建后返回给游览器的。游览器只进行了保存。
一般情况下;cookie是以键值对进行表示的(key-value);例如name=jack;这个就表示cookie的名字是name;cookie携带的值是jack。
cookie中的常用属性;
Name;这个是cookie的名字
Value;这个是cooke的值
Path;这个定义了Web站点上可以访问该Cookie的目录
Expires;这个值表示cookie的过期时间;也就是有效值;cookie在这个值之前都有效。
Size;这个表示cookie的大小
1. 在HTTP请求中;
我们在发送HTTP请求时;发现游览器将我们的cookie都进行了携带(注意;游览器只会携带在当前请求的url中包含了该cookie中path值的cookie);并且是以key;value的形式进行表示的。多个cookie用;进行隔开。
2. cookie在HTTP响应中;
cookie的表示形式是;Set-Cookie;cookie的名字;cookie的值。如果有多个cookie;那么在HTTP响应中就使用多个Set-Cookie进行表示。
cookie有2种存储方式;一种是会话性;一种是持久性。
会话性;如果cookie为会话性;那么cookie仅会保存在客户端的内存中;当我们关闭客服端时cookie也就失效了
持久性;如果cookie为持久性;那么cookie会保存在用户的硬盘中;直至生存期结束或者用户主动将其销毁。
cookie我们是可以进行设置的;我们可以人为设置cookie的有效时间;什么时候创建;什么时候销毁。
new Cookie(String name, String value);创建一个Cookie对象;必须传入cookie的名字和cookie的值
getValue();得到cookie保存的值
getName();获取cookie的名字
setMaxAge(int expiry);设置cookie的有效期;默认为-1。这个如果设置负数;表示客服端关闭;cookie就会删除。0表示马上删除。正数表示有效时间;单位是秒。
setPath(String uri);设置cookie的作用域
HttpServletRequest和HttpServletResponse对Cookie进行操作的常见方法
response.addCookie(Cookie cookie);将cookie给客户端进行保存
resquest.getCookies();得到客服端传过来的所有cookie对象
Cookie就是一些数据;用于存储服务器返回给客服端的信息;客户端进行保存。在下一次访问该网站时;客户端会将保存的cookie一同发给服务器;服务器再利用cookie进行一些操作。利用cookie我们就可以实现自动登录;保存游览历史;身份验证等功能。
参考链接;https://blog.csdn.net/GoodburghCottage/article/details/125978987