ASP.NET初级>传智播客.net>第十季asp.net基础 文字总结(未完)

3,网站WebSite和WebApplication的区别。

1) WebApplication编译运行后,你修改后台C#代码,你刷新网页,内容不会改变。重新编译晕,内容会改变。

网站WebSite,你修改后台C#代码,刷新页面,内容会改变。不用关闭启动浏览器。

2)WebSite没有namespace,WebApplication有namespace 。

因此WebSite用来学习,WebApplication用来开始实际项目比较好。

 

4,基于ashx方式的ASP.Net开发1

 .aspx开发,微软给你封装了很多函数,因此你可以很方便开发。.ashx开始,是最原始的开发,最基础的web开发。仅仅根据http协议进行开发。

输入url,以及在网页提交表单,都是浏览器向服务器进行请求Request。服务器处理完Request,要把处理结果返回给浏览器,这个叫响应Response。

别看.aspx你输入什么,他处理你的输入后,除了输出处理结果,输入前在的东西也输出。他是把这些东西记录下来又重新输出一遍。如同:

写好的一个HTML页面,物理读进来,对用户输入进行处理,把处理结果输出到HTML可替换的自定义标志部位,然后和HTML其他不变的地方输出。

原来Response.Write("a"),再Response.Write("b"),输出ab,后一个Response.Write不会覆盖前面一个。

 

5,ASP.Net的IsPostBack揭秘

为了请求,返回的内容一样,将页面保存为一个html模板文本,模板中有一些待填值的占位符,第一次进入页面的时候就直接访问ashx,读取html模板,将待填值占位符设置为空,然后输出到浏览器。

为了区分是第一次直接进入页面还是点击提交以后进入页面,在form中增加一个隐藏字段:<input type="hidden" name="ispostback" value="true" />,如果能够从Request中读取到ispostback=true就说明是点击提交以后重新进入ashx,否则就是第一次进入ashx。ispostback就是一个标志位。

 

6,Get和Post的区别

可以设定表单form的提交方式method,get是url传递,post是隐藏在http报文传递。get传递的数量有限,post无限,所以可以用post来传递文件。

使用post传递,点浏览器刷新会有重新提交的提示。刷新,就是重复上一次提交的内容。

get传递的参数在服务端文件名后面的?标志,可以提交多个键值对,之间用&进行风格,如果url中有汉字或其它符号,则要进行url编码。

表单域只有设定了name的才会被提交给服务器。

 

7,8,9,11,12,13,14

input自增和div自增。input text本身通过表单递交数据到服务器,服务器进行递增处理,然后返回给客户端input text。

div自增,首先用户请求页面,

input hidden value的值是一个占位符。服务器依据ispostback字段(其实,也可以根据submit的value值)判断是第一次进入页面,还是回发进入页面。如果是第一次进入页面,就把input hidden value初始化为0。如果是回发,也就是点击submit提交表单,就将input hidden value递增,然后返回给客户端。

也就是说,input text不用input hidden就能自增,而div要用input hidden才能自增。这个inpt hidden就是ASP.NET的ViewState。

使用ViewStateDecoder2可以对ASP.NET页面的ViewState进行解码。

 

15 ASP.NET中使用Cookie

你的每次请求都是全新的请求,这样会限制很多交互功能。因此出现了cookie,类似于人的病历本。cookie的键值数据key/value,对于复杂数据,以json格式存储;作用域,不同的域名,对应不同的作用域,a.b.com和c.b.com是不同的域,优化,对于同张网页上的图片,css,js脚本,最好放在不同的域下,这样会使请求大小少很多;过期时间,用来删除cookie。

对于cookie更多学习,可以参考http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html

 

16ASP.NET Session原理

首先,服务器有一个全局的字典变量,用来存储key和value,value的类型是object。针对每个访问者生成一个GUID,并写入访问者的Cookie。访问者第二次访问,依据他的GUID,进行特别处理。

因为全局,所以占内存。可以存储复杂的数据,以及比较私密的数据。

 

17,18,19,20验证码案例说明

用户第一次请求页面,服务器用代码生成带有四个数字的图片,这四个数字又写入Session中。 用户输入四个数字,提交到服务器与Session的四个数字进行比较,相同的话,进行相关处理;不相同的话,也进行相关处理。

验证码用来防止用户暴力破解。

 

21,22HTTP协议

连接,请求,响应。

浏览器发送连接到服务器,连接是浏览器和服务器数据传输的通道,一般请求完毕,连接就关闭。

请求包括,请求方式get或者post,和http协议;数据的压缩方法,gzip或deflate;浏览器支持的语言,比如中文或英文;是否一直保持连接;Cookie;浏览器的版本信息;

响应,是服务器发送给浏览器。包括响应码,200 ok,403 禁止访问,404 页面找不到 ,503 访问人数太多;服务器类型;返回的数据类型,图片,css,js或者二进制文件,html;数据内容的长度;

 

xss漏洞

没有对用户提交的数据,进行验证,转换为安全数据造成。使用户可以执行他自己编写的脚本。

posted @ 2011-07-04 21:25  草珊瑚  阅读(625)  评论(0编辑  收藏  举报