Java中Cookie的用法

Cookie是一段不超过4KB的小型文本数据,由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。

  • Expires(过期)

设置Cookie的生存期。有两种存储类型的Cookie:会话性与持久性。Expires属性缺省时,为会话性Cookie,仅保存在客户端内存中,并在用户关闭浏览器时失效;持久性Cookie会保存在用户的硬盘中,直至生存期到或用户直接在网页中单击“注销”等按钮结束会话时才会失效。

  • Domain(域)

Domain属性指定了哪些域名下的页面可以请求该cookie。如果没有显式设置这个属性,那么默认的domain是创建cookie的页面的域名。

  • 设置为具体子域:例如,如果设置cookie的Domain=www.example.com,则只有来自www.example.com的请求可以访问该cookie。其他子域如api.example.com则不能访问它。
  • 设置为顶级域名:如果设置Domain=.example.com(注意这里有一个点在前面),那么example.com及其所有子域(如www.example.com, api.example.com)都可以访问这个cookie。这样做可以使cookie在同一个顶级域名下的不同子域间共享。
  • Path(路径)

Path属性定义了URL的哪些路径部分下浏览器应该发送cookie。这是用来进一步限制哪些网页可以访问cookie,以提高安全性和效率。

  • 默认路径:如果没有显式设置Path属性,默认值是设置cookie的那个请求的路径。例如,如果在www.example.com/blog/article页面设置了一个cookie,没有指定Path,那么它的路径默认为/blog/article,只有在/blog/article及其子路径下的页面才能访问该cookie。
  • 根路径:如果设置Path=/,则整个网站的所有页面都能访问该cookie。这通常用于需要在整个网站范围内共享的情况,如用户的登录状态。
  • Secure(安全)

定是否使用HTTPS安全协议发送Cookie。使用HTTPS安全协议,可以保护Cookie在浏览器和Web服务器间的传输过程中不被窃取和篡改。该方法也可用于Web站点的身份鉴别,即在HTTPS的连接建立阶段,浏览器会检查Web网站的SSL证书的有效性。但是基于兼容性的原因(比如有些网站使用自签署的证书)在检测到SSL证书无效时,浏览器并不会立即终止用户的连接请求,而是显示安全风险信息,用户仍可以选择继续访问该站点。由于许多用户缺乏安全意识,因而仍可能连接到Pharming攻击所伪造的网站。

  • HTTPOnly

用于防止客户端脚本通过document.cookie属性访问Cookie,有助于保护Cookie不被跨站脚本攻击窃取或篡改。但是,HTTPOnly的应用仍存在局限性,一些浏览器可以阻止客户端脚本对Cookie的读操作,但允许写操作;此外大多数浏览器仍允许通过XMLHTTP对象读取HTTP响应中的Set-Cookie头。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值