2008-11-27 127 views

回答

0

很多人使用的是更多的“RESTful”类型的架构......至少,REST前瞻性的URL。

此网站(StackOverflow上)不到风度显示文件扩展名...它使用ASP.NET MVC

0

根据服务器的设置,您可以使用(或不)任何你想要的扩展。你甚至可以设置扩展名为“.JamesRocks”,但它不会很有帮助:)

无论如何,以防万一你是网络编程的新手,所有的乱码到底有GET操作的参数,而不是页面的扩展名。

9

通常,它使用一些描述的URL重写方案来实现。基本的概念是,网络应该转向使用适当的URI寻址资源,而不是泄露实现细节的经典旧URL,并因此容易受到未来更改的影响。

在Tim Berners-Lee的文章Cool URIs Don't Change中可以找到关于该主题的深入讨论,该文章支持减少URI中不相干的残余,以此作为帮助避免实现发生变化时出现的问题的一种手段,资源确实移动到不同的URL。这篇文章本身包含了关于规划URI方案的一般建议,值得一读。

22

您的浏览器并不关心文件的扩展名,只有内容类型的服务器报告。 (好吧,除非你使用IE,因为在微软他们认为他们比你更了解你的服务内容)。如果您的服务器报告正在提供的内容是Content-Type:text/html,那么无论文件名是什么,您的浏览器都应该将其视为HTML。

-1

在Django中(对于Python的web应用框架),你设计的URL自己,独立于任何文件名,甚至在服务器上为此事上的任何路径。

你刚才说类似“我要/news/<number>/网址来用这个功能来处理”

3

传统的文件扩展名代表正在被服务的文件。

例如

http://someserver/somepath/image.jpg

后来的是使用相同的方法,以允许脚本处理的参数

http://somerverser/somepath/script.php?param=1234&other=7890

在这种情况下吨他的文件是一个处理“请求”并呈现一个dinamically创建的文件的php脚本。

如今,应用程序比这复杂得多(即亚马逊,你所提及般)

那么有没有一个处理请求(但一个更复杂的应用程序机智几个文件/方法/函数一个脚本/对象等),而url更像是一个Web应用程序的入口点(它可能有一个脚本背后,但另一件事),所以现在的Web应用程序像亚马逊,是的stackoverflow不显示URL中的文件,但任何通讯都由服务器端的应用程序处理。

websites urls without file extension?

在这里,我问题代表web应用程序和参数

我希望这一点解释可以帮助您更好地了解所有其他的答案。

0

许多帖子都提到了这一点,我将重点介绍。它绝对是一个URL重写系统,许多平台都可以实现这一点。

我已经为几个较大的电子商务网站工作过,现在它已经成为网站的一个非常重要的部分,并且提供了许多优势。

我会建议您采用您希望使用的技术,并研究该平台的URL重写机制样本。例如,对于.NET,可以使用谷歌的'asp.net url rewriting'或者使用像MVC这样的附加框架,它可以实现这种功能。

5

比大多数这些答案更具体地说:

Web内容不使用文件扩展名来确定正在提供什么样的文件(除非你的Internet Explorer)。相反,他们使用Content-type HTTP标头,它在图像,HTML页面,下载内容或其他内容之前发送。例如:

Content-type: text/html 

表示您正在浏览的页面应该被解释为HTML,并

Content-type: image/png 

表示该页面是一个PNG图像。

Web服务器经常使用的文件扩展名,如果该文件是直接提供从磁盘到确定什么Content-type分配,但Web应用程序也能产生与他们在响应请求喜欢的任何Content-type页面。无论文件名的结构或扩展名如何,只要页面的实际内容与声明的Content-type匹配,数据就会按预期呈现。

1

那么如何在目录中拥有index.html文件,然后在浏览器中输入路径?我看到我的Firefox和IE7都会自动输入斜线,我不必输入它。这更适合像我这样的人,他们认为地球上的每个URL都不应该为了发送几千字节的数据而调用php,perl,cgi和10,000个其他应用程序。