创建一个包含类似这样网址的网站最终有两种结果,首先从最终用户的角度来观察,http://://www.XXX.com/Category.aspx?CategoryID=5 这个网址有些杂乱,可行性分析专家Jakob Neilson建议选择网址显示方式时候考虑如下要求:
● 是否简短
● 是否易于输入
● 是否将站点结构形象化
● 是否具有隐蔽性,也就是让用户通过一个虚拟的看似有意义的导航地址访问指向该地址
我想还应该在上述列表中再增加一条:是否便于记忆。http://www.XXX.com/Category.aspx?CategoryID=5 这个地址没有一个地方符合Neilson标准的任何一条,也不便于记忆。当然,对于有经验的网络开发专家来说,他们很熟悉这种键值对构成的查询参数结构体系,然而对于普通用户来说输入这些带有参数的网址实在是太麻烦了。
一种较好的方法就是使用一种比较直观且容易记忆的方式来将网址表示为:http://www.XXX.com/products/Widgets 乍一看很容易就会推断这个网址所对应的内容极有可能会是显示装饰品(Widgets)信息,这个网址就变得更加容易记忆和传播!然后我告诉我的同事:“请查看这个网址:http://://www.XXX.com/products/widgets ”不用我说第二遍,她可能一次就把地址敲到浏览器上了。很快就浏览器上就列出了装饰品(Widgets)的内容。这里“隐蔽性”表示:用户可以自行变更网址的结尾,例如输入:http://www.XXX.com/products 就能看到全部分类相关的商品列表或者列出所有相关商品分类目录列表。
注:用上述简单的变更网址内容的方法来构思一下如今的比较流行的Blog网站生成的网址。例如:要查询2004年1月28日所发的帖子,只需输入 http://someblog.com/2004/01/28 即可,如果将网址裁减为 http://someblog.com/2004/01 则显示 2004年1月份的帖子 ,同样将月份裁减掉得到 http://someblog.com/2004 则显示出2004年全年所发的帖子。
网址重写技术除了用于将复杂的网址简单化之外,它还能用于处理因网站目录调整或者其他原因导致产生大量的无效链接和过期书签。
1.4. 当一个Web请求传送到IIS会发生什么?
在探讨如何实现网址重写这项技术之前,很有必要了解一下IIS是处理所接收的Web请求的机制。当一个Web请求到达IIS Web服务器时,IIS会根据所请求的文件后缀名来决定如何处理该请求,IIS可以处理诸如HTML页面、图片、静态内容,或者将请求转发给ISAPI应用程序,由该ISAPI应用程序处理后生成HTML静态内容返回给IIS,最后由IIS将请求结果发送回给客户端。(一个ISAPI应用程序就是一套编译好能随时在后台运行的类库,它的任务就是根据请求生成相关的内容。)
例如:如果IIS接收到一个对Info.asp的请求,它会将该请求转交给asp.dll来处理,该ISAPI应用程序调出并执行所请求的ASP页面,然后把生成的HTML代码返回给IIS,IIS最后把内容发送回请求客户端。对于ASP.NET页面,IIS则将请求转交给名为 aspnet_isapi.dll的ISAPI应用程序来处理,该ISAPI应用程序调用托管的Asp.Net工作进程来处理该请求,并将生成的HTML 代码返回给请求客户端。你可以自定义IIS,将某一类扩展名映射到指定的ISAPI应用程序。








