读书人

http session状态护持

发布时间: 2012-12-27 10:17:10 作者: rapoo

http session状态保持
项目中需要保持http的session状态,研究了一下http中保持会话的资料,总结如下
http协议是面向无连接的协议,一次请求,一次操作,然后就结束了,是没有状态的。然后在实际应

用中需要保存用户信息的时候,可以采用cookie和session这2种方式,cookie是保存在客户端,

session是保存在服务器端的,个人觉得session比较安全。网上看资料,说是session的实现,是服务

器在内存中开辟一段内存区域,返回一个索引,即生成一个sessionid,发送到客户端,在客户端下一

次发送请求的时候将sessionid回传,则服务器可以找到用户的信息,相当于实现了状态的保持,因此

客户端还是要保存这个sessionid,我测试了一下在返回的response结果集中,将cookie键值对保存,

在下次发送请求的时候,将这个键值对以cookie的方式发送,结果成果。测试的例子是ww.our023.com

,测试结果很成果,如果没有登录,则返回的是无效的结果,但是如果登录了,然后将cookie中的内

容在下一次的请求中发送,则相当于包sessionid一起发送过去,则session状态保持成功。在cookie

中的键值对名,关系到sessionid的键值对,命名不知道是正面来的,反正接受到的参数都回传就是了

,这个估计和具体的服务器有一定的关系,或是和开发后台web的语言有一定关系,在此不在研究。
例子如下:




注:测试中用到了解析html的开源包jsoup 1 楼 dabian_guo 2010-11-16 呐尼? 这个是啥? 2 楼 1927105 2010-11-16 LZ。我记得
http是面向连接的吧,是无状态的,


3 楼 李军武 2010-11-16 http1.1以上是默认的连接方式为持久连接的。 4 楼 qiren83 2010-11-16 有如HTMLPASER那样的 解析DOM 遍历DOM的功能不? 5 楼 Sunny_kaka 2010-11-16 李军武 写道http1.1以上是默认的连接方式为持久连接的。
你指的http1.1的持久连接应该只是在http连接建立后,需要请求多个资源,比如多个图片的时候,tcp/ip层的连接保持不断.

但是你请求多次,形象理解你刷新下页面.这两次连接是无状态的.
所以需要session,cookie这种技术来保持 6 楼 kimmking 2010-11-16 httpclient 也可以的、。 7 楼 fory 2010-11-17 你们在说神马? 8 楼 lvff1314 2010-11-17 是这样滴,任何servlet容器或其他app server,对于的session的管理都如出一辙,都是通过一个类似于map的hash结果去管理所有用户session,而对于sessionid在client与server之间的传递,取决于用户浏览器设置,大部分情况下是通过cookie去传递,而如果浏览器关闭了cookie功能的话,则将会通过url传参的方式传递给server。
很多集群服务器,都应该做的就是对于session的管理,主要涉及到对象的传递或复制等问题。 9 楼 senhui19 2010-11-17 嗯,看了下代码似乎是弄懂了点什么,算是学习了吧,httpsession

读书人网 >编程

热点推荐