【问题标题】:Why do some server technologies not use fileless page extensions by default?为什么有些服务器技术默认不使用无文件页面扩展?
【发布时间】:2011-03-04 20:14:13
【问题描述】:
首先让我问一下 MVC 架构 - ASP.NET MVC 和 Ruby on Rails。它们都不使用页面文件扩展名。这是否与 MVC 架构的原生功能有关,或者此功能是否设置在其他地方?
如果它不是 MVC 工作方式的本机,为什么其他技术没有默认设置为不需要文件扩展名?例如,ASP.NET 可以设置为不需要文件扩展名,但默认情况下不需要。
据我所知,在网络上添加页面文件扩展名是没有用的,看起来这可能会流行,但为什么花了这么长时间?
【问题讨论】:
标签:
model-view-controller
frameworks
【解决方案1】:
对于微软平台,我认为这是因为自从复杂的操作系统存在以来,就一直有扩展。 HTTP 协议最初只用于提供静态内容,后来出现了 ISAPI 和 CGI。由于内容已经在带有文件扩展名的磁盘上,因此您需要指定要提供的文件的文件扩展名(因为这是文件全名的一部分)。它就像一个基于 HTTP 的文件系统。
后来,当 CGI / ISAPI 出现时,扩展并不是真正需要的,但模式已经设定,并且被遵循。微软的平台是建立在这个扩展之上的。 IIS 使用它来了解通过哪些 ISAPI 扩展来传递请求(.aspx 通过 aspnet_isapi)。
我不能代表 UNIX 等其他平台。