设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 网络编程 >> ASP.NET基础 >> ASP.NET构架与安全机制之Http请求处理
精品推荐
ASP.NET基础点击TOP10
·十天学会ASP.net之第一天
·学了一段时间的Asp.Net 2.0后,心里一些想法
·最佳ASP.NET编程习惯
·ASP.NET讲座(1)-ASP.NET简介
·ASP.NET十分有用的页面间传值方法
·十天学会ASP.net之第三天
·asp.net 操作xml
·十天学会ASP.net之第四天
·ASP.NET技巧:DataGrid传统分页方式
·ASP.NET讲座(3)-输入验证控件
网络编程点击TOP10
·利用Web Application Stress Tool(WAS)做性能测试(1)
·从零开始学ASP.NET(基础篇)
·ASP.NET 程序中常用的三十三种代码
·"SQL Server不存在或访问被拒绝"问题的解决
·用C#实现木马程序
·VS.net 2005 Beta 下载地址(Express Edition)
·C#聊天程序
·.NET 初 级 读 本
·我的.NET书架 (入门篇)
·无组件文件上传代码实例
精选专题

ASP.NET构架与安全机制之Http请求处理

作者: 来源:http://www.xgdown.com/ 时间:2007-9-8 9:12:16

ASP.NET构架与安全机制之Http请求处理(2)   你可能觉得了解这些幕后工作是如何运作的无关紧要,作为程序员的你只要保证开发出的程序可以高效地运行就可以了。然而,在开发过程中,你却发现常常需要使用诸如 HttpContext 这样的类。这个时候,你可曾思考过这些类的构成和类的实体是如何创建的?你可能简单地回答:HttpContext代表当前请求的一个上下文环境。可你又知道IIS 、Framework、Asp.Net 是如何协同工作处理每个Http请求、如何区分不同的请求、IIS、Framework、Asp.Net三者之间的数据如何流动么?

  回答上面这些问题,首先需要了解IIS是如何处理页面请求的,这也是理解 Form验证模式和Windows 验证模式 的基础。

  Http请求刚刚到达服务器的时候

  当服务器接收到一个 Http请求的时候,IIS 首先需要决定如何去处理这个请求(NOTE:服务器处理一个.htm页面和一个.aspx页面肯定是不一样的么)。那IIS依据什么去处理呢?―― 根据文件的后缀名。

  服务器获取所请求的页面(NOTE:也可以是文件,比如 jimmy.jpg)的后缀名以后,接下来会在服务器端寻找可以处理这类后缀名的应用程序,如果IIS找不到可以处理此类文件的应用程序,并且这个文件也没有受到服务器端的保护(NOTE:一个受保护的例子就是 App_Code中的文件,一个不受保护的例子就是你的js脚本),那么IIS将直接把这个文件返还给客户端。

  能够处理各种后缀名的应用程序,通常被称为 ISAPI 应用程序(NOTE:Internet Server Application Programe Interface,互联网服务器应用程序接口)。虽然这 ISAPI 听上去还挺气派,也算是“应用程序”呢,但仔细看看它的全称就明白了:它实际上只是一个接口,起到一个代理的作用,它的主要工作是映射所请求的页面(文件) 和与此后缀名相对应的实际的处理程序。

  让我们更进一步地看一下 ISAPI ,看看它到底是什么样子,请按下面的步骤进行:

  1. 打开IIS。

  2. 选择随意一个站点,鼠标右键,“属性”。

  3. 选择“主目录”选项卡。

  4. 选择“配置”。

  你应该会看到如下的画面:

  图1. 应用程序配置

  很清楚地就可以看到,所有IIS所能处理,或者叫 ISAPI 所提供代理服务的 文件类型 及其相对应的实际的后台处理程序都在这里清楚地列出来了。

  我们找到 .aspx 的应用处理程序,然后点“编辑”,会出现下面的画面:

  图2. 编辑.aspx文件的处理程序

  一路看到这里,可以看出,所有的.aspx文件实际上都是由 aspnet_isapi.dll 这个程序来处理的,当IIS把对于.aspx页面的请求提交给了aspnet_isapi.dll以后,它就不再关心这个请求随后是如何处理的了。

  这里需要注意两点:

  1、当你修改“限制为”后,可以限制页面(文件)只能以某种特定方式访问。

  2、“确认文件是否存在”是实现 URL 地址映射的关键选项,我以后会专门讲述。

  理解宿主环境(Hosting)

  从本质上讲,Asp.Net 主要是由一系列的类组成,这些类的主要目的就是将Http请求转变为对客户端的响应。HttpRuntime类是Asp.Net的一个主要入口,它有一个称作 ProcessRequest 的方法,这个方法以一个 HttpWorkerRequest 类作为参数。HttpRuntime 类几乎包含着关于单个 Http请求的所有信息:所请求的文件、服务器端变量、QueryString、Http 头信息 等等。Asp.Net 使用这些信息来加载、运行正确的文件,并且将这个请求转换到输出流中,一般来说,也就是HTML页面。

  NOTE:二般来说,也可以是张图片。

共4页 9 7 [1] [2] [3] [48 :>

ASP.NET构架与安全机制之Http请求处理 相关文章:
ASP.NET构架与安全机制之Http请求处理 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com