一、会话的含义
会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
二、会话过程中要解决的一些问题:
每个用户与服务器进行交互的过程中,各自会有一些数据,程序要想办法保存每个用户的数据。
例如:用户点击超链接通过一个servlet购买了一个商品,程序应该保存用户购买的商品,以便于用户点结帐servlet时,结帐servlet可以得到用户商为用户结帐。
思考:用户购买的商品保存在request或servletContext中行不行?
答:可以,但是都不方便。这两种方式的过程如下图:可知用request域结算时无法链接到支付的servlet。 而用servletcontext域时,结算会将所有用户的的商品都结算。
图片来自网络会话的创建
图片来自网络会话的使用
图片来自网络举例:使用会话记录不同用户的访问次数
图片来自网络解决会话缺少 Secure 字段
https://www.jianshu.com/p/4ec5c86b3160
https://blog.csdn.net/huaquan520/article/details/81358893
必须在session cookie添加secure标识(如果有可能的话最好保证请求中的所有cookies都是通过Https方式传输)
如下是示例:未添加secure标识的session cookie-可能会被泄露
Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H;
添加secure标识:
Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; secure;
<httpCookies httpOnlyCookies="true" requireSSL="true" />
图片来自网络
网友评论