2021-03-06-cookie总结

来历

  • http是无状态的(无法识别你曾来过)
  • 客户端数据怎样保证和服务器数据长时间保持一致(购物车)
  • 通过会话状态可以让客户端和服务器建立联系
  • Servlet中两种会话机制:cookie、session

分类

  • 会话cookie
没有用setMax设定Cookie最大生命周期
生命周期和浏览器相关
保存在内存里面
  • 持久cookie:有用setMax设定Cookie最大生命周期

实现原理

  • WEB服务器通过HTTP响应信息中增加Set-Cookie响应头字段,将cookie信息发送给浏览器
  • 浏览器则通过HTTP请求消息中增加Set-Cookie请求头字段将cookie回传给服务器

注意事项

  • 一个cookie只能包含一个key-value信息
  • 一个cookie只能标识一种信息
  • 一个Web站点可以给一个浏览器发送多个cookie
  • 一个浏览器也可以储存多个Web站点发送的cookie
  • 浏览器一般只允许存放300个Cookie
  • 每个站点最多存放20个Cookie
  • 每个Cookie的大小限制为4KB
  • cookie是存放在客户端的,不安全
  • 浏览器禁用了cookie服务器是写不进去的

使用方式

  • 先创建cookie
  • 调用response.addCookie(cookie)添加cookie

读取

  • 调用request.getCookies()得到cookie数组
  • 遍历数组通过name寻找cookie

方法

方法 说明
new Cookie(name,value) 必须调用构造器创建Cookie
setMaxAge(int expiry) 硬盘的存活时间,以秒为单位,0为立即删除,负数不储存,不设置该方法浏览器关闭后就删除
getName() 得到当前Cookie的名字
getValue() 得到当前Cookie的值
setValue(String newValue) 给当前cookie设置新值
setHttpOnly(boolean httpOnly) js是否可以访问cookie,true为不能访问

猜你喜欢

转载自blog.csdn.net/qq_41270550/article/details/113855226
今日推荐