管道模型–Asp.Net MVC篇 Http请求
我们自己写的程序,是怎样进行处理的?一个完整的HTTP请求流程:
一. 请求大致流程
拿一个实例了解整个流程的步骤:
-
用户浏览器输入地址
例如 http://www.csdn.net
-
DNS解析(域名供应商)
将输入的网址解析成IP+端口
-
请求到达服务器Server
IP可以在互联网上唯一定位一台服务器,而端口是用来确定进程的,端口还可以带有协议信息,用于穿过防火墙
-
HTTP.SYS服务接收HTTP请求
我们可以自己用IIS部署一个网站,模拟HTTP请求。顺序是部署网站----指定一个端口监听----请求到服务器----带了端口信息和协议----被HTTP.SYS监听到。HTTP.SYS是安装IIS时自动装上去的
-
IIS将请求转发给ISAPI
IIS不能处理我们写的代码,不会做业务的处理,它只能将我们的代码转发到对应的程序进行处理。
它里面有一个“处理映射程序”,这里配置的是IIS的处理方式,即请求是什么后缀名,就用哪种dll处理程序进行处理,其中*.cshtml、.aspx、.ashx都是由asp.net_isapi.dll来进行处理,如图: