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为不能访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值