RequestResponseSession对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RequestResponseSession对象相关的知识,希望对你有一定的参考价值。
Request 和 Response 对象起到了服务器与客户机之间的信息传递作用。Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏览器。
一、Request对象的五个集合:
QueryString:用以获取客户端附在url地址后的查询字符串中的信息。
Form:用以获取客户端在FORM表单中所输入的信息。(表单的method属性值需要为POST)
Cookies:用以获取客户端的Cookie信息。
ServerVariables:用以获取客户端发出的HTTP请求信息中的头信息及服务器端环境变量信息。
ClientCertificate:用以获取客户端的身份验证信息
二、Response对象
语法格式:Response.Cookies(CookieName)[(key)|.attribute]=value。这里的CookiesName 是指定的Cookie的名称,如果指定了Key,则该Cookie就是一个字典,Attribute属性包括 Domain,Expires,HasKeys,Path,Secure。
response的方法:
Write:向客户端发送浏览器能够处理的各种数据,包括:html代码,脚本程序等。
Redirect:response.redirect("url")的作用是在服务器端重定向于另一个网页。
End:用来终止脚本程序。
Clear:要说到Clear方法,就必须提到response的Buffer属性,Buffer属性用来设置服务器端是否将页面先输出到缓冲区。语法为:Response.Buffer=True/False
Flush:当Buffer的值为True时,Flush方法用于将缓冲区中的当前页面内容立刻输出到客户端。
三、 Session对象
用户访问网站过程中的会话,Web上这种会话方式是无状态的,一般用于保存用户名等单个用户的信息,比QueryString安全,在浏览器关闭或者Session到期(默认20分钟)时关闭,Session也可以存储数组信息。
IE:同时两个会话窗口的 SessionID是不一样的,Session不会共享。所以在IE浏览器中,已经打开了一个IE浏览器输入网址认证后的信息保存在Session中后, 再重新打开一个IE浏览器会话(第一次打开的没有关闭)然后输入上面已认证的网址,会发现SessionID已改变,保存的Session值已丢失。
Firefox: 同时两个会话窗口的SessionID是一样的,Session会共享。所以在Firefox浏览器中,已经打开了一个firefox浏览器输入网址认证 后的信息保存在Session中后,再重新打开一个Firefox浏览器会话(第一次打开的没有关闭)然后输入上面已认证的网址,会发现 SessionID不变, Session中的值没有丢失。
(说明:如果是点击窗口的页面内容中的网址而打开了新的窗口,在新的窗口中SessionID是不会变的,Session中的值也不会丢失,两种浏览器都一样!跟上面的情况不要混淆了哦!)
2.同一浏览器,关闭打开会话窗口,再打开新的会话窗口Session的情况。
打开一个浏览器输入网址认证完后保存值到Session中,然后关闭浏览器,再重新打开一个浏览器会话,再输入认证完后的完址,发现SessionID已改变,值已丢失。上述情况适合IE与Firefox浏览器。
3.不同浏览器之间不会共享Session
原因:Session依懒于SessionID,SessionID保存在cookies,但IE与Firefox浏览器没有共享cookies,它们保存cookies的位置都没一样。
以上是关于RequestResponseSession对象的主要内容,如果未能解决你的问题,请参考以下文章