上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.2 基于HTTP|HTTPS的端口共享
对于端口共享,最为常见的还是基于HTTP|HTTPS的80|443端口共享:部署于同一主机上的所有Web应用能够共享相同的监听端口。在Windows下,IIS是所有Web应用的宿主,我们可以借助于IIS相应的机制实现基于HTTP|HTTPS的端口共享。
对于V5或之前的版本,IIS通过进程InetInfo.exe绑定到80|443端口进行HTTP请求的侦听,在这种情况下,80|443端口被该进程独占使用。对于WCF来说,基于80|443端口共享仅限于采用IIS寄宿方式的服务,如果你使用自我寄宿的方式,80|443端口是不可用的。
注:在安装了IIS 5的环境下,通过非IIS方式寄宿服务,如果将80|443作为监听地址的端口,将会抛出如图2-4所示的AdressAlreadyInUseException异常。
到了6.0,IIS通过引入HTTP.SYS采用了一种全新的监听机制。严格来说,HTTP.SYS已经不属于IIS的范畴,它是一个用于侦听网络请求的网络驱动。HTTP.SYS运行于内核模式下,在性能和稳定性方面较之前的版本都具有较大的改进。HTTP.SYS,顾名思义,专用于HTTP请求的监听,IIS和其他Web应用均可以使用它作为自己的监听器,从而实现端口共享的目的。
关于HTTP.SYS及各种版本IIS的工作机制的比较,在第7章介绍IIS服务寄宿时会对其进行详细介绍。