码迷,mamicode.com
首页 > 其他好文 > 详细

IIS如何确定请求的处理程序

时间:2015-04-24 18:59:26      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

1. 给定一个url请求,IIS需要确定它的文件名,扩展名,以及最相似的与本请求资源合适的"ScriptMaps"metadata (缓存的ISAPI扩展 - 应用程序扩展名映射列表);

2. IIS检查是否有设定了的应用程序通配符,若有则匹配第一条应用程序扩展名映射

    如果这个扩展映射返回“我不处理这类请求”,IIS将继续查找下一个,直到找到匹配的;

3. 如果没有通配符处理这个请求,然后IIS开始根据请求的扩展名,来依次匹配每个ScriptMaps,来确定合适的应用程序来处理。如果找到合适的应用程序扩展,IIS就会调用相应的程序来处理这个请求;

4. 如果没有应用程序扩展处理此请求,并且扩展名是危险的包含exe/dll类型,IIS会调用CGI/ISAPI 来处理请求;

5. 如果任然没有程序可以处理这个请求,IIS内嵌的静态文件处理器将接管,并做如下处理:

   a、确定文件有效性:是否需要转向302请求,如果转向成功则ok;

   b、如果请求是一个文件形式,则发送该文件给客户端;

   c、如果设定了默认页面,然后就会查看默认页面列表,找到一个实际存在的可用的默认页面。如果定为到某个页面,然后就会做一个内部的url请求,来请求这个页面。

   d、如果目录浏览权限是允许的,就会列出目录列表;

   e、如果请求依然未被处理,就会产生 403.14 (拒绝访问)错误;

IIS如何确定请求的处理程序

标签:

原文地址:http://www.cnblogs.com/sunzhenyong/p/4454046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!