没有文件扩展名的网页

Pha*_*tom 3 url file-extension web

我可以在那个网站上看到网址是http://stackoverflow.com/questions/ask.之后没有文件扩展名,如果ask是一个文件夹,并且在index.aspx内部,它看起来就像http://stackoverflow.com/questions/ask/.
他们是怎么做到的?他们如何使扩展消失?谢谢,幻影

Lel*_*mbo 7

他们是怎么做到的?他们如何使扩展消失?

扩展名不会消失,但根本没有扩展名.在最近(比如15年)的Web编程世界中,Web应用程序不再是实际文件的一堆实际目录.Web应用程序现在有许多不同的体系结构并应用了许多模式.Web服务器还可以通过URL重写扩展来提供这样的功能.两者通常也合并在一起.

实现此目的的最常见模式是Front Controller.这个想法是所有请求都进入单一入口点.然后,此入口点可以决定执行哪个代码来生成输出.在大多数MVC框架中,前控制器名称之后的URI(通常是index.php)用于确定要调用的控制器类和控制器方法,尽管这些天它们通常是可配置的.

在示例中http://stackoverflow.com/questions/ask,一种可能的方案是:

  1. Web服务器将URL重写为 http://stackoverflow.com/index.php/questions/ask
  2. index.php作为前端控制器然后分析其名称后的URI段,即 /questions/ask
  3. 然后它构造一个类的实例questions并调用它的ask方法
  4. 该方法生成输出,然后作为请求的响应发回