您的位置:首页 > 编程语言 > ASP

ASP.NET基础(一)

2014-01-29 18:00 197 查看


l http请求过程

l http协议特点

l Web页面服务端(IIS)处理流程

l ASP.NET中常用对象

l get与post提交方式
1.http请求过程
 1.用户在浏览器中输入请求地址
 2.浏览器对该地址进行封装成请求报文
 3.通过DNS解析查找域名
 4.连接服务器,并将封装的报文发送到服务器,服务器接受报文并解析,之后再返回给浏览器
 5.浏览器接收服务器返回的内容并解析成html、javascript等,如果解析的时候需要其他资源,会再次向服务器请求(如家在图片等)
2.http协议特点
 1.http是无状态连接,浏览器不会保持与服务器的连接
 2.http是一种互联网通信规范,基本格式为:
    


 


3.常见的响应码及其意思:
200段是成功;300段需要对请求做进一步的处理;400段表示客户端请求错误;500段是服务器的错误。
1.200     成功
2.302     重定向(请求1跳到2)
3.400     请求错误
4.404     未找到请求网页
4.http请求报文头



5.web请求页面(IIS)处理流程
1)浏览器将用户请求的地址封装成报文并发送给服务器。
2)服务器端监听到用户请求(一直运行在内核模式下的http.sys程序监听80端口(IIS6.0版本之后,缓存请求,允许多个进程监听同一端口))
3)Http.sys会查询注册表看是否有进程监听80端口请求,如果有则转向对应的进程,一般为inetinfo.exe(用户模式下,早期的IIS中没有http.sys,请求都由inetinfo.exe监控).
4)在Inetinfo.exe中,根据配置信息,判断是请求静态资源还是动态资源,并启动w3wp.exe进程,如果请求静态资源,则问w3wp.exe会从服务器读取静态资源并返回。(http.sys出会缓存,这样再次请求时将省略部分请求步骤)
5)如果请求的是动态资源,则调用aspnet_isapi.dll(寄宿在w3wp.exe中),加载CLR.
6)在CLR中,创建新的AppDomain(应用程序域),在该程序域下,创建一个实现了IISAPIRunTime(接口)类型的对象—ISAPIRunTime对象,调用该对象的ProcessRequset方法。
7)在该方法中,将请求报文做第一次封装,变成ISAPIWorkerRequest
对象wr.
8)调用HttpRuntime的静态方法ProcessRequest方法,并将wr作为参数传递进去做二次封装,变成HttpContext对象,并在其中创建HttpApplication对象,将httpcontext对象作为参数传递进去。(调用HttpApplicationFactory.GetApplicationInstance(context)方法(在该方法中,先检查httpapplicationfactory是否被初始化,如果已经初始化,则直接创建httpapplication对象(之前还会检查是否有空闲的httpapplication对象)。如果没有初始化,则先初始化,在其中获取global.asax文件路径,并调用CompileApplication()对global.asax进行编译))
9)调用httpapplication对象的ProcessRequset方法。在该方法中,将会完成19个事件。其中在第7-8个事件之间创建被请求页面的对象,在第11个和12个事件之间执行刚刚创建的对象的ProcessRequest方法,完成后返回给用户。
6.ASP.NET中常用文件



7.关于get和post提交方式
1.get提交的数据都在url中显示,post在后台提交数据
2.Get方式只能提交少量数据,post可以提交大量数据,且相对安全
3.Get提交方式可以记录访问地址,post方式刷新后弹出提示信息(是否重新发送)
4.context.Request.QueryString["name"]   get提交
context.Request.Form["name"]   post提交
context.Request.Params["name"]   , context.Request["name"]  这两个是通用的
context.Response.End() 立即终止当前程序,其后不执行
context.Response.Redirect(url)  重定向
context.Response.Write(内容)  页面输出内容
8.ASP.NET中常用的几个对象



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
   

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息