为了账号安全,请及时绑定邮箱和手机立即绑定

http的常见状态码,cookie的知识总结

标签:
Java

http的常见状态码:

1xx: 响应还没有完成的状态
2xx: 200 ok 响应成功
3xx: 302 :重定向 304:从缓冲中取
4xx: 客户端的错误,404:请求的资源找不到 405:method=get,但是 服务端没有提供对应的method
5xx: 服务器端错误。500:服务器端发生了异常(java代码的异常)

cookie的概念,cookie为了解决http的无状态性 问题的

cookie的设置与读取:
Cookie cookie = new Cookie("key","value");
response.addCookie(cookie);
Cookie[] cookies = request.getCookies();

cookie的生命周期:

cookie 是可以存到浏览器的内存中,也可以存储到硬盘上
cookie 的默认生命周期,浏览器关闭之后,就消失。

cookie如何存储到硬盘上?

cookie的属性maxAge.
maxAge 表示cookie的存储的时间,也就是表示了cookie的生命周期
以秒来计算
maxAge > 0 : 表示可以长期存储,比如:设置cookie可以存在一个小时: 16060
maxAge < 0 : 表示cookie只存在于浏览器的内存中,随着浏览器的关闭而消失
maxAge = 0 : 表示cookie立刻删除!

cookie的生命周期,是通过 cookie对象的 setMaxAge(int s),来设置生命周期。
存储到硬盘上面。
chrome 浏览器的存储cookie到底存硬盘上面哪个目录?

Chrome的Cookie数据位于:%LOCALAPPDATA%\Google\Chrome\User Data\Default\ 目录中,名为Cookies的文件。
如:C:\Users\小可爱\AppData\Local\Google\Chrome\User Data\Default\Cookies

Cookies 是一个sqlite的 文档数据库文件
所以要想打开Cookie查看内容,需要使用sqlite的客户端连接工具,
例如:sqlitestudio

cookie的路径:
cookie的路径,不是指 cookie存储的路径。而是指发送cookie时的一个约束条件路径。

假设:
/webday03/index.jsp : 如果有cookie的存储 path=/webday03
/webday03/cookie/setCookie.jsp : 如果有cookie的存储 path=/webday03/cookie
/webday03/cookie/c1/setCookie.jsp : 如果有cookie的存储 path=/webday03/cookie/c1

注意:如果 在设置cookie是没有指定path,默认情况下,
存储到 资源的上一级路径(父一级路径)。
例如: localhost:8080/webday03/cookie2/setCookie.jsp

那么存储cookie 的path 为 /webday03/cookie2/

如果,下次发起请求时,具体要带哪些cookie的值,需要根据 请求的资源路径来决定

请求资源:/webday03/cookie/getCookie.jsp, 具体要发送哪些cookie给服务器呢?

path为  path=/webday03/cookie 要发送
   其次 path=/webday03 也要发送

删除一个cookie
cookie.setMaxAge(0);
记得 要重新将cookie 发送给浏览器,才生效
response.addCookie(cookie);

问题:
为什么通过代码 无法显示cookie的getpath和getMaxAge的值

为了安全考虑:
getPath等方法是在创建cookie传给浏览器前使用的,从浏览器传到后台时只有name和value

点击查看更多内容
11人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件工程师
手记
粉丝
51
获赞与收藏
617

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消