目录
一:Cookie(Secure和HttpOnly属性)
基于安全的考虑,需要给cookie加上Secure和HttpOnly属性,HttpOnly比较好理解,设置HttpOnly=true的cookie不能被js获取到,无法用document.cookie打出cookie的内容。
Secure属性是说如果一个cookie被设置了Secure=true,那么这个cookie只能用https协议发送给服务器,用http协议是不发送的。换句话说,cookie是在https的情况下创建的,而且他的Secure=true,那么之后你一直用https访问其他的页面(比如登录之后点击其他子页面),cookie会被发送到服务器,你无需重新登录就可以跳转到其他页面。但是如果这是你把url改成http协议访问其他页面,你就需要重新登录了,因为这个cookie不能在http协议中发送。
下图所示:Secure和HttpOnly 勾选后,代表 =true
二:JSESSIONID是什么
老实说一开始看到这个有点懵,写Java这么久没看过这东西。
首先,JSESSIONID是一个Cookie,Servlet容器(tomcat,jetty)用来记录用户session。
什么时候种下JSESSIONID
创建会话时,即调用request.getSession()的时候,关于getSession就不说了。补充几点是,访问html是不会创建session的, JSP页面默认是会创建session的,可以在JSP页面里面关掉自动创建session
三: JSESSIONID 刷新
在注销登录,登录超时添加:
//HttpServletRequest request
HttpSession session = request.getSession();
session.invalidate();
session.invalidate()是将session设置为失效,一般在退出时使用,但要注意的是:session失效的同时 浏览器会立即创建一个新的session ,JSESSIONID 只是tomcat中对session id的叫法,在其它容器里面,不一定就是叫JSESSIONID 了
session.invalidate()执行此代码时 JSESSIONID 会失效,浏览器会立即创建一个新的JSESSIONID ,JSESSIONID 刷新
参考:JSESSIONID:https://www.jianshu.com/p/f2e5db637ed4
Cookie:https://www.cnblogs.com/diligenceday/p/10885868.html
ps :有什么不清楚的可以评论哦。
才疏学浅 ,请多指教 !