Web 会话机制(cookie+session)与实例
2017-06-04 17:33
357 查看
最近在做系统的迁移,完成后发现出现了Error401,是认证没通过,借着此机会复习一下cookie和session的机制。
基础概念
Cookie
概述
cookie的使用
cookie的常用属性
Session
概述
session与浏览器
URL地址重写
问题解决
基础概念
Cookie
概述
cookie的使用
cookie的常用属性
Session
概述
session与浏览器
URL地址重写
问题解决
基础概念
Cookie
概述
在客户端保存。 web应用使用http进行传输,但是HTTP是无状态协议,为了追踪用户的行为,可以引入cookie。 cookie是一小段文本,当客户端请求服务器时,浏览器将网址与cookie一起提交给服务器,服务器根据cookie判断用户状态。服务器可以修改cookie内容,当服务器需要获取cookie,可以向客户端发送response请求来获取。 通过document.cookie可以获得cookie,为了快速查看,可以通过js在页面显示,javascript:alert(document.cookie)。
cookie的使用
在java中,cookie的类为javax.servlet.http.cookie,存贮方式为key-value,通过覆盖进行修改 。 request.getCookie() response.addCookie() 不同网站会向客户端办法不同cookie,cookie的管理由浏览器进行管理,不可跨域。
cookie的常用属性
domain:不同domain下的cookie不能相互调用 path:决定域名下的特定路径访问cookie maxAge:有效期,单位为秒 secure:true⇒ https, ssl; false ⇒ http
Session
概述
在服务器保存。 客户端浏览器访问网站时,从该session查找客户状态。 如果session内容复杂,服务器的客户比较多,会发生内存溢出。 session在用户第一次访问时创建,往后只要发生访问行为,session会自动更新。 request.getSession(true)会强制生成session。 存储方式为key-value类型。 session.getAttribute(String key) session.setAttribute(String key, Object value) servlet中 request.getSession()
session与浏览器
session对客户端透明。它需要cookie作为识别标识。 由于http无状态,服务器向客户端发送名为jsession的cookie,它的值为session的id,session根据此id判断是否同一用户。
URL地址重写
当客户端不支持cookie时,地址重写的原理是将用户session的id写到url地址中,服务器解析重写后的url来获取session的id,从而记录用户状态。
问题解决
由于这次出现的错误是401,认证失败,根据错误stacktrace,进行查找,发现系统是使用session的URL地址重写方式进行认证。 如果系统需要做一套用户登录的控制(这里的用户指后台开发人员),可以根据session来管理用户。 用户登录时,将session的id加载到URL中,将请求发送给服务器。通过查看对应登录URL在api-gate的信息,申请权限即可。 利益相关,代码就不贴了。
相关文章推荐
- JavaWeb -- 会话, Cookie 和 Session
- 会话机制详解(Cookie和Session)
- JAVAWEB开发之JSP、EL、及会话技术(Cookie和Session)的使用详解
- Django | Tornado | Flask 三种web框架的会话跟踪(session|cookie)
- 【Web前端】COOKIE与SESSION的机制区别
- Servlet基础知识(三)—— 会话机制Session,Session和Cookie的异同
- WEB中的会话技术:Cookie及Session
- Java Web(三) 会话机制,Cookie和Session详解
- 会话管理机制:Cookie和Session
- JavaWeb之会话技术Cookie&Session
- javaee学习之路(八)会话管理(cookie,session)的编程实例
- 浏览器禁用cookie后php如何保持session会话-use_trans_sid机制
- WEB状态管理机制剖析(cookie、session)
- Java Web(三) 会话机制,Cookie和Session详解
- java_web学习第五天(会话-Cookie和Session)
- MVP 模式编写刷新 Web Session 会话实例小Demo,实战代码,清晰明了,维护简单
- 模仿J2EE的session机制的App后端会话信息管理实例
- 深入理解浏览器会话机制(session && cookie)
- Java Web(三) 会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解