Web 会话机制(cookie+session)与实例
来源:互联网 发布:如何查看淘宝店铺网址 编辑:程序博客网 时间:2024/05/17 09:26
最近在做系统的迁移,完成后发现出现了Error401,是认证没通过,借着此机会复习一下cookie和session的机制。
- 基础概念
- Cookie
- 概述
- cookie的使用
- cookie的常用属性
- Session
- 概述
- session与浏览器
- URL地址重写
- Cookie
- 问题解决
基础概念
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:决定域名下的特定路径访问cookiemaxAge:有效期,单位为秒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的信息,申请权限即可。利益相关,代码就不贴了。
阅读全文
0 0
- Web 会话机制(cookie+session)与实例
- session与会话cookie
- cookie与session会话
- Session会话与cookie
- Java Web会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解
- Java Web(三) 会话机制,Cookie和Session详解
- 会话中的cookie与session
- 会话之Session与Cookie
- 会话跟踪Cookie与Session
- 会话管理cookie与session
- 会话管理---Cookie与Session
- 会话机制详解(Cookie和Session)
- Multi-Programming-6 CountDown latches
- Content-disposition下载头部响应
- jenkins
- Sql
- C# 导入dll时CallingConvention的设置问题
- Web 会话机制(cookie+session)与实例
- 1489: L先生与质数V4(二分+大区间求素数模板)
- 深度学习之caffe使用小结(1)
- Linux CentOS 7 安装字体库 & 中文字体
- <Android 应用之路> Android 开发技术选型(博客,新闻,阅读类)
- “易升”升级Win10卡在99%的处理办法
- 04_细节_变量和数据类型小结
- Qt基础 01_Qt概述
- ConstraintLayout fragment activity 嵌套的时候,ConstraintLayout 不能作为activity的根节点,否则fragment显示不出来