关于浏览器和IIS基础的简单理解

时间:2023-03-10 02:34:50
关于浏览器和IIS基础的简单理解

浏览器 输入域名或者IP地址,按回车访问后;发生了什么??IIS是如何工作的?为什么能这么工作??

1    浏览器和IIS 分别是两个应用程序;浏览器访问网址实际就是  两个应用程序的数据交互往来;

2    浏览器和IIS 是靠什么进行数据交互往来?是soket通信

3    浏览器和IIS 通信的具体内容是什么?是http协议,以及具体的html标签,浏览器会根据html标签渲染成具体的页面;

4    浏览器和IIS 通信的地点是什么;每个电脑的应用程序很多,如果让浏览器和IIS进行通信,说白了就是如何让浏览器和IIS能够联系上;是80端口,浏览器请求默认的是80端口,换句话说就是浏览器去敲80端口的门,IIS才会开门;当然IIS也可以定义其他端口如801端口;每个电脑有65533个端口;只要端口在1-65533的范围内就是合法的端口;IIS 会监测80端口的请求的;

5    浏览器向IIS请求 html静态页面和请求aspx动态页面有什么区别;

请求静态页面:IIS根据请求的文件路径,例如www.domind.com/a/index.html ;根据路径找到文件通过soket直接返回给客户端(浏览器);

请求.aspx或.ashx页面: IIS看到是aspx.ashx类型文件会主动去找组件aspnet_isapi.dll,由这个aspnet_isapi.dll组件去生成html标签通过soket返回给客户端(浏览器);

6      aspnet_isapi.dll组件又是如何工作的??

A aspnet_isapi.dll 通过管道将请求发给IIS进程,HTTPRunTime会监测到这个请求

B  HTTPRunTime类确定请求的页面名称(就是类的名称,在asp.net中一个页面就是一个类),HttpRuntime通过公共接口IHttpHandler调用请求类的实例

C  由HttpApplication Factory负责返回HttpApplication实例。

D HttpApplication实例会读取web.config中所有HttpModule的配置。

E HttpApplication对象使用IHttpHandlerFactory类型的实例返回HttpHandler(http处理程序)给HttpRuntime对象。

F 最后由HttpRuntime对象调用IHttpHandler的页面对象的ProcessRequest方法。

相关文章