您的位置:首页 > Web前端

Transfer、Execute与session、cookie、viewstate与Encode、Decode区别

2013-05-07 13:29 399 查看
 

 
1.       Transfer:第一个页面直接调用第二个页面,执行完第二个页面后不再返回第一个页面,立即响应到客户端浏览器
 
2.       Execute:第一个页面直接调用第二个页面,执行完第二个页面后再返回第一个页面执行,最后响应到客户端浏览器
 
3.       HtmlEncode:将html字符串不翻译
 
4.       HtmlDecode:将html字符串翻译
 
5.       UrlEncode:将中文翻译为特殊字符
 
6.       UrlDecode:将中文不翻译
 
7.       Aspx最终会生成一个类,这个类继承自Aspx.cs
 
8.       ViewState不能存储所有的数据类型,仅支持:string,int,bool,array,arraylist,hashtable
 
9.       使用viewstate的前提:页面上必须有一个服务器端窗体标记即runat=server
 
10.    ViewState机制:服务器在接收到用户请求一个页面后,会自动在请求报文中找看是否包含_Viewstate的隐藏域,如果有,则将中间的值解码后添加到页面的Viewstate属性中;
 
11.    服务器在输出的时候,也会自动的将viewstate中的值添加到表单里名叫_viewstate的隐藏域中。
 
12.    Viewstate缺点:加大网站的流量,降低访问速度
 
13.    Viewstate原理:回答input版本(Textbox)不受影响,div版本受影响,因为input的value不依靠viewstate
 
14.    Viewstate原理:input、hidden标签以name为key,以value为值提交到服务器,viewstate在hidden标签定义了格式的数据,把value的状态放在viewstate,把这个viewstate提交到服务器,就记住了上次页面的状态,因为有这个就有了事件模型,就有了点击button就可以写事件
 
15.    Cookie原理:
A.      第一次get请求无cookie
B.      服务器通过响应报文头里的set-cookie向浏览器设置cookie信息
C.      浏览器通过请求报文头里的cookie传递到浏览器存储的cookie信息
 
16  cookie缺点:不能保存过多信息,不能保存机密数据,只能保存string类型
 
17  session可以保存任意数据类型,因为保存在服务器端
 
18  session原理:用户提交登录信息,如果登录成功,则将用户信息保存到session中,并返回一个包含此sessionId的cookie到浏览器缓存中
1)当有Session启动时,服务器生成一个唯一值,称为Session ID(好像是通过取进程ID的方式取得的)。

2)然后,服务器开辟一块内存,对应于该Session ID。

3)服务器再将该Session ID写入浏览器的cookie。

4)服务气内有一进程,监视所有Session的活动状况,如果有Session超时或是主动关闭,服务器就释放改内存块。                                         
5)当浏览器连入IIS时并请求的ASP内用到Session时,IIS就读浏览器Cookie中的Session ID。
6)然后,服务检查该Session ID所对应的内存是否有效。

7)如果有效,就读出内存中的值。

8)如果无效,就建立新的Session
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  net学习 session Cookie