如上的思想,其实有很多很多地方可以见到端倪。。比如我们现在每天都会用到的Web服务器+Asp.net引擎搭配。。
IIS Server拿到客户端的HTTP请求,他能负责的是.html,.htm这样的后缀的页面请求(通常都是静态资源)。但是遇到.aspx后缀名的请求,它是无能为力的,就请出好帮手 asp.net引擎。IIS与 asp.net的通信,其实也是这样一种思想。就是准备2个东西,一个in HttpRequest request,一个out HttpResponse response,主要递送到 Asp.net引擎的 IHttpHandler接口(确切的应该是传递到该接口某个实现了的接口中纯抽象方法的 override以后的方法)——每个aspx页面都继承了Page类,该类实现了IHttpHandler接口——典型的 多态性 的实现。这样,asp.net引擎就负责干活——吃进的是草,产出的是奶——他吃进的是Http相关的request,产出的是Http相关的response。。中间的过程,就是引入.net平台的原生语言C#这个主角。但是,这未必是必须的。。可以用vb.net自不必说,甚至可以使用php,java。。只要asp.net可以支持这样的语言转换,将http转到 java or php,并且可以让他们 RenderToHtml——IIS只能识别HTML,其他的一律不认识。。