我不确定如何在谷歌上搜索这个。也许有人可以解释一下。一个网站,如堆栈溢出,如何有网址“http://stackoverflow.com/questions/..somenumber../the-title-of-the-question-or-something-like-that
并且能够通过该问题调出该网页。有人可以向我解释这是怎么做到的吗?它是某种形式的JavaScript吗?我试图思考这个问题以及它将如何完成,但它让我感到困惑。在网络开发方面,我也是新手。
答案 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)。它使用数字进行数据库查找。
提取该数字的方法有很多种。具体取决于您的编程环境。