IIS理解
WEB开发基础
1IIS原理
IIS的本质其实就是一个sorket的服务器,浏览器就是一个sorket的客户端,浏览器发送请求信息给IIS,IIS返回信息给浏览器显示,就这么简单。
1http.sys,这个是上个IIS6里的一个模块,主要作用是用来接受浏览器发送过来的请求。用要用一个队列来管理发送过来的请求。如果请求的是.net资源,它就将激活CLR运行时(w3wp.exe)。否则直接返回静态资源(HTML,图片等)。IIS5中没有这个模块,是处理激活aspnet_wp.exe
2 ISAPI扩展器。
ISAPI与aspnet_isapi.dll的关系,ISAPI是IIS的一个扩展接口(GetExtensionVersion,HttpExtensionProc处理后的数据写回客户端,TerminateExtension),而已aspnet_isapi.dll则是对isapi扩展的一个实现。当一个asp.net的资源请到w3wp.exe中,会先经过aspnet_isapi.dll。再到CLR运行环境。它是接收和分派对各种asp.net资源请求的控制中心。它通过命名管道将请求转发给asp.net所在的辅助进程(w3wp.exe)。
3 ISAPI过虑器。
ISAPI过虑器也是ISAPI的一种扩展,aspnet_filter.dll只不过扩展的接口方法不一样,它主要是对一些特定的方法去扩展,主要是:GetFilterVersion,Httpfilterproc过虑请求等。功能类似httpmodule,所有的请求信息对要经过它。
4 W3WP.exe
它是一个进程,每一个应用程序池都要创建一个这样的进程来处理.net资源请求的,即.net的运行环境。每个w3wp.exe中都包括一个aspnet_isapi.dll。
5 IIS5与IIS6与IIS7的关系。
IIS5请求进入到进程inetinfo.exe,inetinfo.exe的aspnet_isapi开始工作,aspnet_isapi用管道与aspnet_wp.exe通信,激活aspnet_wp.exe中的工作者线程处理请求。服务只有一个aspnet_wp.exe进程不同网站运行在不同的域中,用应用程序域来隔离资源。当有一个网站挂掉,将会影响其他网站。
II6引用了应用程序池的概念来处理这个问题,一个网站可以独立一个应用程序池,一个池创建一个w3wp.exe进程。解决了当一个网站挂掉会影响其他网站的问题。同时引用了http.sys请求队列,所用的请求都会进入http.sys队列中,由http.sys分派给w3wp.exe,w3wp.exe中的aspnet_isapi再分派给工作者线程处理。
IIS7 在IIS6的基础上,加入了集成模式和经典模式,经典模式就是IIS6的模式,当一个请求进来,会经过IIS的isapi和aspnet_isapi.dll,会有两次信息验证。效率会不高。
而IIS7中引用了集成模式,当时选用了集成模式,请求将不需求ISAPI来激活asp.net,而是直接进入托管代码w3wp.exe中的isapi扩展。在集成模式下可以通过web.config中的system.webserver来配置映射
IIS理解的更多相关文章
- Ext Js学习之IIS理解
站点分为静态网站和动态网站,纯粹利用html编写的网站属于静态网站,不宜维护和更新而利用C#+extjs等前台+后台技术编写的网站就属于动态站点,有更多的交互,易维护和更新,比如降价的页面,利用htm ...
- htaccess转换httpd.ini方法及案例参考
案例1:httpd.ini适合IIS使用,.htaccess适合Apache使用,nginx.conf适合Nginx使用 转换前:httpd.ini [ISAPI_Rewrite] # 3600 = ...
- 深入理解IIS的多线程工作机制
首先让我们来看看IIS里面的这2个数字:最大并发连接数,队列长度.先说这2个数字在哪里看. 最大并发连接数:在IIS中选中一个网站,右键网站名称,在右键菜单中找到并点击[管理网站]->[高级设置 ...
- IIS 7 托管管道模式 经典模式(Classic) 集成模式(Integrated) 分析与理解
IIS 7.0 支持两种管道模式:一种是IIS 7.0最新提供的集成管道模式,另一种是经典管道模式,经典管道模式是由先前版本的IIS提供的. 我们可以通过应用程序池设置管道模式,这项功能对IIS管理员 ...
- 使用IIS建立自己的网站、使用C#编写IIS模拟器,更好的理解Client和Server的relation
如何在IIS服务器上搭建自己的网站呢,今天带着这问题进行简单的实践一下,并且准备模拟一下IIS服务器工作方式,把这个工作方式搞清楚有利于发展. 1.首先应该进入控制面板=>程序=>添加或删 ...
- 深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图
原文:深度理解IIS下部署ASP.NET Core2.1 Web应用拓扑图 IIS部署ASP.NET Core2.1 应用拓扑图 我们看到相比Asp.Net, 出现了3个新的组件:ASP.NET Co ...
- MVC — 初步理解IIS工作流程
声明:本文只是自己的总结和积累.IIS7.x 目录 IIS流程及组成部分 ASP.NET流程及组成部分 IIS与ASP.NET MVC 一.IIS流程及组成部分 1.Http.SYS:负责监听HTT ...
- 关于浏览器和IIS基础的简单理解
浏览器 输入域名或者IP地址,按回车访问后:发生了什么??IIS是如何工作的?为什么能这么工作?? 1 浏览器和IIS 分别是两个应用程序:浏览器访问网址实际就是 两个应用程序的数据交互往来: ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
随机推荐
- 关于meta知多少
本来打算写关于手机端的知识,想了想先从meta着手.接下来请大家看几个网站的例子. 一.天猫(http://m.tmall.com) <title>天猫触屏版</title> ...
- 在 Excel 中使用公式拆分字符串日期
如图所示,分别使用 LEFT.MIDB.RIGHT 来拆分再拼接字符串即可: =LEFT(A1,4)&"-"&MIDB(A1,5,2)&"-&qu ...
- node-webkit 笔记
NW.js is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScr ...
- OBS---环境配置之#include <D3DX10.h>报错
一.先贴错误 因为这个笔记主要记录我如何整好这个OBS源码环境的,给需要的童鞋一个参考 1.1.#include <D3DX10.h> 报错 没有这个 解决方案:把2,3先解决了就水到渠 ...
- WinStore之Application Data
一.Application Data简介 Applicaion Data相当于桌面应用的注册表,存储一些用户配置信息,如运行时状态,用户喜好等,需要注意的时,当卸载应用时,这些数据会被删除,所以不要存 ...
- 程序员之路:以Android证道
大道三千,何以证道? 最近有私信.邮件给我咨询一些职业生涯规划的同学,我在这里以过来人的身份给大家一些建议. 任何行业,任何职位,无论高低,无论大小,都可以分为广博.精深两个方向. 精深自然指的是在某 ...
- Redis内存数据库在Exchange会议室的应用
本文论述了现有Exchange会议室应用现状和不足之处,并详细介绍了Redis内存数据库在Exchange会议室的应用,并给出了一种高性能的应用架构及采用关键技术和关键实现过程,最终实现大幅改进系统性 ...
- 2013年Linux周刊读者投票出炉 Ubuntu、Android榜上有名
摘要:一年一度的Linux周刊读者投票结果已经登于2013第12期.这是Linux爱好者们自己的“奥斯卡”: Linux周刊的小编们列出一系列Linux相关的“最佳项目”进行面向读者的投票.竞选项目包 ...
- eclipse-java/spring mvc常见错误
Dynamic Web Module 3.1 requires Java 1.7 or newer http://crunchify.com/how-to-solve-dynamic-web-modu ...
- 做mapx、ArcEngine的二次开发出现“没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)”
转自:http://blog.sina.com.cn/s/blog_638e61a40100ynnc.html 出现这个问题主要是因为32位操作系统和64位操作系统存在兼容性问题. 解决方案: 1.鼠 ...