zoukankan      html  css  js  c++  java
  • 别了,IIS

    本文转载自 :http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/ServiceStation.mspx?mfr=true

     

    Http.sys 是一个新的低级 HTTP 协议栈,可在 Windows Server 2003 和 Windows XP SP2 中使用。Http.sys 是一个内核模式组件,它为计算机中的所有应用程序提供它的 HTTP 服务。这意味着 HTTP 支持深深依赖于 OS。甚至 IIS 6.0 也进行了重新架构,以便可以使用 http.sys(请参见图 3)。

    fig03

     

    图 3 Http.sys 体系结构

    在 6.0 版之前,IIS 依靠 TCP/IP 内核和 Windows Sockets API (Winsock) 接收 HTTP 请求。由于 Winsock 是一个用户模式组件,因此每个接收操作都需要在内核模式和用户模式之间进行切换。现在 Http.sys 可以直接在内核中缓存响应。当处理缓存的响应时,将 HTTP 栈放在内核中可以使得移除代价昂贵的上下文切换成为可能,从而提高效率和整体吞吐量。

    当 http.sys 接收到请求时,它可以直接将该请求转发到正确的辅助进程中。另外,如果辅助进程无法接受该请求,http.sys 会存储该请求,直到辅助进程启动并可以接受它为止。这意味着辅助进程失败不会中断服务。当 IIS 6.0 启动时,WWW 服务会与 http.sys 进行通讯,并为配置的每个 IIS 应用程序注册路由信息。无论您何时在 IIS 中创建应用程序或移除应用程序时,WWW 服务都会与 http.sys 进行通讯以更新它的路由信息。

    正如您在图 3 中所看到的,http.sys 为 IIS 6.0 Web 体系结构奠定了基础,但它没有以任何方式与 IIS 产生联系。运行在计算机中的任何应用程序都可以利用 http.sys 来接收 HTTP 请求。与 WWW 服务相似,您可以用 http.sys 注册应用程序,并开始侦听传入的 HTTP 请求。.NET Framework 2.0 引入了一套托管类,使得这些托管类可以很容易地实现该操作。

    HttpListener:实现您自己的 Web 服务器

    System.Net 包含几个用来与 http.sys 进行交互的新类。HttpListener 是这些类中的关键一个。可以使用它来创建简单的 Web 服务器(或侦听器),用于响应传入的 HTTP 请求。这个侦听器在 HttpListener 对象的生存期内都保持活动状态,不过您可以通过命令通知它开始和停止侦听。

     

     

    还有一篇更早的文章

    http://www.microsoft.com/belux/msdn/nl/community/columns/desmet/hostaspnet1.mspx

    Hosting the ASP.NET runtime in your own application

  • 相关阅读:
    BZOJ2821 作诗(Poetize) 【分块】
    BZOJ2724 蒲公英 【分块】
    Codeforces 17E Palisection 【Manacher】
    BZOJ2565 最长双回文串 【Manacher】
    Codeforces 25E Test 【Hash】
    CODEVS3013 单词背诵 【Hash】【MAP】
    HDU2825 Wireless Password 【AC自动机】【状压DP】
    HDU2896 病毒侵袭 【AC自动机】
    HDU3065 病毒侵袭持续中【AC自动机】
    HDU2222 Keywords Search 【AC自动机】
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1491864.html
Copyright © 2011-2022 走看看