• TodoList开发笔记 – Part Ⅳ


    跌跌撞撞总算是把客户端开发好了,后台的代码因为不复杂,就写了些单元测试跑一跑就算通过了,大部分时间都是在调整脚本。

    这一节开始部署TodoList项目。

    一.了解IIS(Internet Infomation Service)

    一个Http请求从浏览器发送到服务器接收,其实是经过相当多的步骤的,我们不说客户端的,就单单服务器这边。

    1.首先Http是基于Tcp协议的,那么作为服务器我们就得一直监听指定的端口去接收客户端连接,这件事由tcpip.sys内核驱动去帮我们完成。

    2.连接完后捏从Tcp数据包中提取出Http数据包,还有客户端的信息,最后还要验证下这个数据包格式对不对,不对就丢了,这件事由http.sys内核驱动来完成。

    3.然后要把Http请求根据其不同的Url放到不同的请求队列中去,这件事由WAS服务(SvcHost.exe)来做。

    4.应用程序要去IIS注册想要处理的Url格式,比如*.aspx这类Url由Asp.Net的aspnet_isapi.dll处理。

    5.WAS服务读取IIS主进程InetInfo.exe的元信息,得到这些Url与处理程序的映射,根据这些信息往http.sys添加或删除消息队列(http.sys内部有自己的映射)。

    6.WAS服务会去启动IIS的工作进程w3wp.exe,让它处理相应的http队列,以后就由工作进程与http.sys直接沟通,WAS负责监视工作进程,必要时重启它。

    7.工作进程会查询处理特定Url的组件去并加载,例如Asp.Net就会加载aspnet_isapi.dll,在这个过程中又会加载CLR。

    8.CLR开始加载AppDomain(如果没有的话),AppDomain内可以包含多个站点,但是http请求只会交给对应Url的站点程序来处理。

    9.程序处理的过程也挺繁琐,要经过HttpRuntime > HttpApplication > 构建HttpContext > HttpModule > HttpHandler等等,最终结果返回给http.sys发回客户端

    以上可能不够详细,更多的细节可以参考IIS 原理及ASP.NET运行机制浅析

    列了挺多的,其实IIS做的就是统筹全局的事。

    二.服务器、域名

    服务器就是普通的计算机,没什么特别的,我选了一家国外的VPS,虽然放这个项目太大材小用,不过我是打算用它来建立自己博客的哈哈。

    域名就比较烦了,最近刚买了一个不过还没解析正确,DNS服务器的缓存急死人了。

    三.发布

    没什么好说的直接上图

    因为项目没用到什么复杂的东西,一路从简很快就搞定了,最后把项目文件上传到VPS重新设置下端口就搞定啦~~~

    大家可以访问这个地址看看效果,域名还没解析好,直接访问IP吧

  • 相关阅读:
    javascript之Number
    javascript之window对象
    javascript全局对象
    javascript之尺寸,位置,溢出
    javascript之DOM操作
    javascript之全局函数
    javascript之Error
    javascript之url转义escape()、encodeURI()和decodeURI()
    javascript之Boolean
    javascript之Arguments
  • 原文地址:https://www.cnblogs.com/MigCoder/p/3750946.html
Copyright © 2020-2023  润新知