我现在正在实现一个功能:验证用户session是否超时,如果超时重新连接,登陆采取域验证的方式,采用request.getHeader("Authorization")来获取用户名和密码的加密串。
我写了一个过滤器,判断session里面是否有相应信息,如果用户已经登陆过,但是session超时,我会重新用request.getHeader("Authorization")重新给session赋值,给客户一种session永远不会过期的感觉,但是我现在遇到这样的问题,session过期后,通过get方式的请求用request.getHeader("Authorization")不为null,但用post方式的请求request.getHeader("Authorization")为null,请问这是为什么?
我写了一个过滤器,判断session里面是否有相应信息,如果用户已经登陆过,但是session超时,我会重新用request.getHeader("Authorization")重新给session赋值,给客户一种session永远不会过期的感觉,但是我现在遇到这样的问题,session过期后,通过get方式的请求用request.getHeader("Authorization")不为null,但用post方式的请求request.getHeader("Authorization")为null,请问这是为什么?
主要是http协议中get和post的区别get是从服务器上拿,你session失效后,服务器上就没这个session了,里面的信息当然也没有
所以取道null
post是向服务器上传递,应该会把本地的信息再传一次吧
我是这么理解的。
当然,他们还有很多别的区别
http://blog.csdn.net/camel20/archive/2004/08/27/86331.aspx
http://www.blogjava.net/beandy809/archive/2007/11/21/162074.html
具体你自己看吧