zoukankan      html  css  js  c++  java
  • 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漏洞

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


    合乎自然而生生不息。。。
  • 相关阅读:
    应用C#和SQLCLR编写SQL Server用户定义函数
    警告:隐式声明与内建函数'exit'不兼容解决方案
    GDB详解
    Linux GCC常用命令
    WebBrowser处理AJAX生成的网页内容!
    IOS开发之网络编程开源类 Reachability应用
    NSString和NSMutableString常用方法+NSArray常用代码 (转)
    hosts立即生效的方法
    spring.net xml 命名空间
    c#操作access,update语句不执行的解决办法
  • 原文地址:https://www.cnblogs.com/samwu/p/2097760.html
Copyright © 2011-2022 走看看