IIS 7开发与管理完全参考手册(第一章部分内容)

在CSAPP中看到Web Server的部分内容, 联想到经常使用IIS, 所以准备了解一点. p9~p15.

IIS7特性

管道集成

IIS 7.0将ASP.NET与请求管道进行了集成, IIS 7提供了统一的事件管道, 之前有一个2种独立的管道-- IIS管道和ASP.NET管道. 为了向后兼容, IIS 7提供了Classic管道模式, 可以模拟IIS 6.0的IIS管道, 也可模拟IIS 6.0的ASP.NET管道.

IIS6 请求流程

浏览器 -> (IIS管道) HTTP.SYS -> 对请求处理, 判断是静态, 还是CGI, 还是ISAPI, 如果是ISAPI, 还要区分PERL, ASPX, PHP -> (ASP.NET管道) ASPNET_ISAPI.dll处理 -> 返回结果给HTTP.SYS -> 返回浏览器.

IIS7 请求流程

浏览器 -> (集成管道) HTTP.SYS -> 对请求处理, 判断是静态, 还是aspx, 还是ISAPI ->
执行完成后返回给HTTP.SYS -> 返回浏览器

对于.aspx文件, 过程中不需要ISAPI的处理.

可配置性

IIS7的另一变化是, 不需要单独对IIS做配置, IIS的配置可直接配置在应用程序中. IIS7 使用一个名为applicationHost.config文件保存设置, 也可以保存到web.config文件中, IIS的配置保存在web.config的system.webServer一节.

组件化

开发可以自行开发组件直接注入到处理管道中, 不需要再使用ISAPI过滤器来修改请求过程. 如果不喜欢windows身份验证, 可以使用forms身份验证, 或者忽略所有内置的身份验证, 而采用我们开发的身份验证.

posted @ 2019-12-14 20:13  Panda110  阅读(221)  评论(0编辑  收藏  举报