网站URL - 堆栈溢出如何工作?

时间:2010-11-19 20:26:43

标签: url web

我不确定如何在谷歌上搜索这个。也许有人可以解释一下。一个网站,如堆栈溢出,如何有网址“http://stackoverflow.com/questions/..somenumber../the-title-of-the-question-or-something-like-that

并且能够通过该问题调出该网页。有人可以向我解释这是怎么做到的吗?它是某种形式的JavaScript吗?我试图思考这个问题以及它将如何完成,但它让我感到困惑。在网络开发方面,我也是新手。

3 个答案:

答案 0 :(得分:6)

StackOverflow使用ASP.Net MVC Framework,它允许您创建由操作方法处理的任意URL路由。

您也可以使用ASP.Net routing执行此操作;类似的框架可用于其他平台。

在较低级别,浏览器向包含任意路径的Web服务器发送请求;服务器可以通过该路径做任何想做的事情来发送响应 URL中的路径与文件系统之间没有内在联系。

大多数网络服务器通常会在路径上提供文件内容,但这不是必需的。

答案 1 :(得分:1)

“somenumber”是数据库中问题的ID。在somenumber之后出现的任何东西/用于SEO目的。这就是所有这些链接都有效的原因。

http://stackoverflow.com/questions/4229090/website-url-how-does-stack-overflow-work
http://stackoverflow.com/questions/4229090
http://stackoverflow.com/questions/4229090/foobar

它只是引用该ID来提出问题

答案 2 :(得分:0)

在SO的情况下,服务器端进程从URL中提取问题编号(4229090)并忽略其余部分(website-url-how-does-stack-overflow-work)。它使用数字进行数据库查找。

提取该数字的方法有很多种。具体取决于您的编程环境。