关于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting参数原理和使用
关于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting参数
关于session和cookie参考:
http://www.blogjava.net/freeman1984/archive/2011/09/02/357833.html
http://www.blogjava.net/freeman1984/archive/2010/09/09/331501.html
http://www.blogjava.net/freeman1984/archive/2010/03/30/316901.html
tomcat服务端和客户端通过sessionCookieName参数(默认值:jsessionid)的值来识别session,并在此session中共享数据。在浏览器首次请求服务的时候,tomcat服务器会在响应头信息信息里面返回:

告诉浏览器保存cookie名为JSESSIONID的cookie,当然此时为会话cookie,此cookie是保存在浏览器当前会话中的。过期时间为当前会话结束时。(当然前提是浏览器要设置为接受第三方cookie)
在下次浏览器请求的时候会将此cookie值返回给服务器,当然cookie的名称同(sessionCookieName参数,确切的来说是同浏览器保存的会话cookie的名称),当服务器接受到此参数的时候,就不会在响应头信息信息里面返回Set-cookie

当然sessionCookieName参数的值是可以修改的,查看官方文档:
|
sessionCookieName |
The |
通过在contex中设置:
1 <Context sessionCookieName="jss" >
或者通过java虚拟机参数
2 -D org.apache.catalina.SESSION_COOKIE_NAME=jss
或者动过设置:
3
System.setProperty("org.apache.catalina.SESSION_COOKIE_NAME", "jss");当然后两种的优先级高。
修改之后在查看服务器返回:

当浏览器设置了不接受第三方cookie的时候。Tomcat支持通过URLRewrit(将sessionid放在url中)来将session的id传给服务器来维持会话(当然如果浏览器接受会话cookie优先级是从会话cookie中去,也就是url里面的session参数会被抛弃)。
例如:get.do;jsessionid=1682268A851B4B6A3BAE18871C63AF30
查看tomcat相关源码:
private static final String match = ";" + Globals.SESSION_PARAMETER_NAME + "=";此时的SESSION_PARAMETER_NAME和sessionCookieName是可以不相同的(默认相同),通过修改org.apache.catalina.SESSION_PARAMETER_NAME参数来修改,方式如下:
-Dorg.apache.catalina.SESSION_PARAMETER_NAME=jsss
或者:
System.setProperty("org.apache.catalina.SESSION_PARAMETER_NAME", "jsss");这样通过URLRewrit的方式session就不限于么个浏览器或者浏览器页了。只要有此seesionid任何浏览器任地方都能够进行访问,当然就带来了安全问题。可通过以下参数来禁止URLRewrit传sessionid,仍然是在tomcat的context.xml文件内设置:
<Context disableURLRewriting="true">
官方文档:
|
isableURLRewriting |
Set to true to |
设置完成后即使你在url里面加了sessionid的值,服务器仍然会在返回头信息里面返回Set-cookie信息。
其他应用服务器原理大致相同。
关于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting参数原理和使用的更多相关文章
- 右击main 方法运行正常,启动tomcat 后,spring boot 项目 出现参数字符串是乱码的情况
PrintWriter out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8")) ...
- Tomcat性能调优及JVM内存工作原理
Java性能优化方向:代码运算性能.内存回收.应用配置. 注:影响Java程序主要原因是垃圾回收,下面会重点介绍这方面 代码层优化:避免过多循环嵌套.调用和复杂逻辑.Tomcat调优主要内容如下:1. ...
- 【Tomcat】tomcat启动后查看运行时JVM参数
Tomcat优化配置参考http://www.cnblogs.com/qlqwjy/p/8007490.html 1.启动服务后访问localhost,点击Server Status
- 关于tomcat对编码不正确的url参数报错的解决
按照规范,url参数必须使用限定字符,其它字符需要进行编码,用像js的encodeurlcomponent函数. 在IE和360浏览器的兼容模式,不会自动对url的参数进行编码,会导致tomcat报错 ...
- Tomcat的性能优化及JVM内存工作原理
JVM性能优化原则:代码运算性能.内存回收.应用配置(影响Java程序主要原因是垃圾回收机制)代码层优化:避免过多循环嵌套.调用和复杂逻辑. Tomcat调优主要内容 1.增加最大连接数 2.调整工作 ...
- 动态线程池(DynamicTp)之动态调整Tomcat、Jetty、Undertow线程池参数篇
大家好,这篇文章我们来介绍下动态线程池框架(DynamicTp)的adapter模块,上篇文章也大概介绍过了,该模块主要是用来适配一些第三方组件的线程池管理,让第三方组件内置的线程池也能享受到动态参数 ...
- 浅入tomcat
前言:学习笔记,以供参考 1.什么是服务器 所谓的服务器其实就是一段别人写好的程序,服务器有两个能力. a.可以帮助我们来管理资源. b.可以将资源向外界发布以便于外界来访问这个资源. 2.资源有哪些 ...
- 75篇关于Tomcat源码和机制的文章
75篇关于Tomcat源码和机制的文章 标签: tomcat源码机制 2016-12-30 16:00 10083人阅读 评论(1) 收藏 举报 分类: tomcat内核(82) 版权声明:本文为 ...
- 【转】tomcat性能调优
一.总结前一天的学习 从"第三天"的性能测试一节中,我们得知了决定性能测试的几个重要指标,它们是: ü 吞吐量 ü Responsetime ü Cpuload ü ...
随机推荐
- DedeCMS常见问题和技巧
1: dedecms 访问空白(织梦如何显示详细错误) 我们在使用织梦的时候,有的时候会遇到访问空白的情况,尤其是再刚刚搬家之后,织梦会出现访问空白或者返给您一个500的友好界面错误,遇到这种情况该怎 ...
- Django RESTful Web Services, 此书学DRF不错
全名为<Django RESTful Web Services: The easiest way to build Python RESTful APIs and web services wi ...
- 2018年长沙理工大学程序设计竞赛 J - 杯子
题意: 链接:https://www.nowcoder.com/acm/contest/96/J一天durong同学买了一个无限长的杯子,同时买了n个球,并且标号为1,2,3......n,duron ...
- jquery获取浏览器各种高宽
$(document).ready(function(){ alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()) ...
- RelativeLayout 高度宽度
RelativeLayout ss = (RelativeLayout) findViewById(R.id.myRelativeLayout); ss.setLayoutParams(new Rel ...
- 模板 图的遍历 bfs+dfs 图的最短路径 Floyed+Dijkstra
广搜 bfs //bfs #include<iostream> #include<cstdio> using namespace std; ],top=,end=; ][]; ...
- 计蒜客 NOIP 提高组模拟竞赛第一试 补记
计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n, ...
- Codechef September Challenge 2018 游记
Codechef September Challenge 2018 游记 Magician versus Chef 题目大意: 有一排\(n(n\le10^5)\)个格子,一开始硬币在第\(x\)个格 ...
- 菜鸟nginx源码剖析
菜鸟nginx源码剖析 配置与部署篇(一) 手把手配置nginx "I love you" TCMalloc 对MYSQL 性能 优化的分析 菜鸟nginx源码剖析系列文章解读 A ...
- hdu 3853 概率dp
题意:在一个R*C的迷宫里,一个人在最左上角,出口在右下角,在每个格子上,该人有几率向下,向右或者不动,求到出口的期望 现在对概率dp有了更清楚的认识了 设dp[i][j]表示(i,j)到(R,C)需 ...