IIS架构与HTTP请求处理流程(1)
ASP.NET Web编程原理 之
******************************************************************
说明:
《ASP.NET Web编程原理》包括一系列的文章,取自于《ASP.NET程序设计教程》的第8章,对于ASP.NET开发中的一些比较复杂的问题做了介绍,主要目的是向在ITCAST上选学了我讲授《ASP.NET技术基础》系列课程(http://www.itcast.net/portal/courses/unit/137)的学员提供一些更详细的学习资料。也可供其他ASP.NET开发者参考。
本系列文章由于出自本人所著的教材《ASP.NET程序设计教程》(高等教育出版社 预计2009年2月出版),因此,网友可以以学习和参考等目的转贴和传播,但不能用于商业目的,比如将其原封不动地用在其他同类技术书籍中。
金旭亮
2008年9月27日
*******************************************************************
Windows操作系统中的IIS负责提供互联网服务,一台运行了IIS的计算机可以看成是一台Web服务器。
Windows XP SP2 中IIS主版本号为5,Windows 2003 Server为6,Vista和Windows Server 2008为7。对于Windows 2003 Server,其默认支持的ASP.NET版本为1.1,因此必须单独安装.NET Framework 2.0以上版本[1]。
目前,IIS 6是使用最为广泛的版本,IIS 5已基本不在Web服务器上部署, IIS 6与IIS 5相比在系统架构上有着较大的差异,IIS 7与IIS 6相比,基本架构并没有根本性的变化,但在许多方面有新的增强和改进。本书选择IIS 6/7进行介绍,大部分内容也适合于IIS 5,但IIS 5一些已过时的特性就不介绍了。
首先,我们来仔细分辨一下三个很容易混淆的基本概念。
在IIS中可以创建网站、Web 应用程序和虚拟目录,以便与计算机网络上的用户共享信息。“网站”、“Web 应用程序”和“虚拟目录”这三个概念的关系如图 8‑1所示。
1网站(Web Site)
网站是 Web 应用程序的容器,每个网站都有一个唯一的标识,这一标识由它的 IP 地址、端口和可选的主机头/主机名组合而成,Web服务器根据收到的HTTP请求中的这些信息来确定是对哪一个网站的请求。
在IIS 7中,将网站标识称为“网站绑定”,图 8‑3所示为IIS 7默认网站的“网站绑定”对话框。
2 Web 应用程序(Web Application)
使用Visual Studio创建的“ASP.NET网站”,其实是一个“Web 应用程序”,它并不等于IIS中的“网站”。
在Windows XP SP2中,使用Visual Studio创建的ASP.NET网站发布到本机IIS之后都是作为本机默认网站(即“localhost”所代表的网站)所承载的Web应用程序而运行的。
3 虚拟目录(Virtual Directory)
在 IIS中,每个 Web 应用程序都必须拥有一个最顶层的虚拟目录,它被称为“根虚拟目录”。
在Visual Studio中,可以在属性窗口中直接设定ASP.NET网站的根“虚拟路径”(图 8‑4)。
图 8‑5中将ASP.NET网站所对应的IIS根虚拟目录设为MyNewWebSite。
一个Web 应用程序可以拥有多个虚拟目录,这些虚拟目录都将成为Web 应用程序根虚拟目录的子目录。
给Web应用添加完虚拟目录之后,可以通过以下URL访问虚拟目录中的网页
http://网站名称/Web应用程序根虚拟目录/新创建的子虚拟目录/Web网页名称
http://localhost/MyNewWebSite/MyNewVirtualDir/Sample.aspx
[1] 建议在Windows 2003 Server上安装最新版本的.NET Framework以支持一些新技术,比如AJAX和Silverlight。
[2] 更具体来说,是 Windows Server 的一个系统核心组件: HTTP.SYS 负责这一工作。后面在介绍 IIS 架构时还将介绍 HTTP.SYS 组件。
[3]后文将应用程序池作更详细的介绍
[4]“虚拟目录”有时又被称为“虚拟路径”,两者代表同一概念。
[5]对于Visual Web Developer速成版,它没有提供“发布网站”的功能,但可以在“复制网站”对话窗口找到相应的按钮完成这一工作。或者更直接些,直接使用IIS管理器来完成这一工作。
[6]在IIS 5/6中使用“虚拟目录创建向导”来创建虚拟目录,其方法是在IIS的某个Web应用程序节点上右击,从快捷菜单中选“新建”-->“虚拟目录”命令。IIS 7的操作是类似的,但它直接在快捷菜单的第一级中就提供了“添加虚拟目录”的命令。
(请看 第二部分:http://blog.csdn.net/bitfan/archive/2008/09/28/2990606.aspx)
v/:* {behavior:url(#default#VML);} o/:* {behavior:url(#default#VML);} w/:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}
IIS架构与HTTP请求处理流程(1)相关推荐
- Asp.Net构架(Http请求处理流程) - Part.1
2019独角兽企业重金招聘Python工程师标准>>> 引言 我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net.他们耐心.细致地告诉你如何 ...
- Http 请求处理流程(转)
引言 我查阅过不少Asp.Net的书籍,发现大多数作者都是站在一个比较高的层次上讲解Asp.Net.他们耐心.细致地告诉你如何一步步拖放控件.设置控件属性.编写CodeBehind代码,以实现某个特定 ...
- 转载--【笔记】Asp.Net构架(Http请求处理流程)
转载--[笔记]Asp.Net构架(Http请求处理流程) 最近接触了一些Asp.Net开发人员,在聊到技术的时候,发现很多的Asp.Net开发人员都不明白在ASP.NET中一个页面请求的处理流程,今 ...
- 走进JavaWeb技术世界8:浅析Tomcat9请求处理流程与启动部署过程
谈谈 Tomcat 请求处理流程 转自:https://github.com/c-rainstorm/blog/blob/tomcat-request-process/reading-notes &l ...
- Asp.Net 构架(Http请求处理流程) - Part.1 (来自张子阳的博客)
导读 在写本系列文章的过程中,我遇到了很大的困惑:在我准备讲述问题A的时候,我发现需要先解释问题B:当我考虑如何讲解问题B的时候,又发现如果对问题C不够清楚,很难较好地理解问题B.好吧,事已至此,我决 ...
- 高性能服务通信框架Gaea的详细实现--server请求处理流程
为什么80%的码农都做不了架构师?>>> #<i class="icon-file">Gaea请求处理流程</i> Gaea支持tc ...
- 接收请求处理流程_从Tomcat入口了解Spring MVC的请求处理流程(2)问题答疑
在上一篇 从Tomcat入口了解Spring MVC的请求处理流程 中主要介绍了spring mvc如何使用以及spring的DispatcherServlet加载细节以及URL映射配置,但是还是遗留 ...
- MariaDB架构图与执行流程概述
MariaDB架构图与执行流程概述 1MariaDB执行流程 以客户端访问MariaDB数据库服务器为例,它的执行流程见下: 当一个客户端(应用程序.GUI工具)连接MariaDB时会产生一个基于该客 ...
- Spark架构与作业执行流程简介
2019独角兽企业重金招聘Python工程师标准>>> Spark架构与作业执行流程简介 博客分类: spark Local模式 运行Spark最简单的方法是通过Local模式(即伪 ...
最新文章
- (pytorch-深度学习系列)pytorch卷积层与池化层输出的尺寸的计算公式详解
- ASIHTTPRequest的环境配置和使用示例
- 成功解决The subservice has not been subscribed.
- Linux内核模块的概念和基本的编程方法
- 为什么 MySQL 回滚事务也会导致 ibd 文件增大?
- notebook中安装lightgbm的gpu版本
- 案例解释图像傅里叶变换的幅度谱和相位谱的以及反变换
- 初步学习Django-第八篇:ORM常用操作
- NHibernate Configuring
- SQL Server与Oracle中的隔离级别
- 介绍几个图论和复杂网络的程序库 —— BGL,QuickGraph,igraph和NetworkX
- python 通达信公式函数_通达信,文华财经,非常实用的主图均线变色指标
- JavaScript(十二)常见js特效
- Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表
- anchor-free目标检测
- 【Easyx库】(1)
- EMC共模干扰与差模干扰是什么?怎么解决?
- 体验车联网,你选对物联网卡了吗?
- win10 UWP Controls by function
- 在谷歌上安装倍速播放的插件video-speed-controller
热门文章
- iTOP3A5000_7A2000开发板龙芯全国产处理器LoongArch架构核心主板
- 个人或企业申请专利需要什么材料专利费减的条件是什么?
- 让字母自增,就像A-Z,Z后面就是AA-AZ,然后BA-BZ...
- decode和encode
- 【踩坑专栏】required a bean of type ‘xxx.UserConverter‘ that could not be found
- flush privileges 命令
- 关于谷歌浏览器页面出现光标闪动,鼠标的焦点没有消失解决
- 妥妥的去面试之Android基础(四)
- 实验08 路由器RIP动态路由配置实验报告
- 这是毕业生们唯一的信念;我所看到最好的毕业纪念文