URL сайта - как работает переполнение стека? - PullRequest
2 голосов
/ 19 ноября 2010

Я не уверен, как искать это в Google. Может быть, кто-то мог бы объяснить вместо. Как веб-сайт, как переполнение стека, имеет URL-адреса "http://stackoverflow.com/questions/..somenumber../the-title-of-the-question-or-something-like-that

и он может поднять эту страницу с этим вопросом. Может ли кто-нибудь объяснить мне, как это делается? Это какая-то форма javascript? Я пытался продумать эту проблему и то, как это будет сделано, но это меня смущает. Я также новичок, когда дело доходит до веб-разработки.

Ответы [ 3 ]

6 голосов
/ 19 ноября 2010

StackOverflow использует ASP.Net MVC Framework , который позволяет создавать произвольные маршруты URL, которые обрабатываются методами действия.

Вы также можете сделать это с помощью ASP.Сетевая маршрутизация ;подобные платформы доступны для других платформ.

На более низком уровне браузер отправляет запрос на веб-сервер, содержащий произвольный путь;сервер может делать с этим путем все, что он хочет, для отправки ответа.
Не существует внутренней связи между путями в URL-адресах и файловой системой.

Большинство веб-серверов обычно обслуживают содержимое файла по пути, но это не обязательно.

1 голос
/ 19 ноября 2010

Это "somenumber" - это идентификатор вопроса в базе данных.Все, что идет после somenumber / для целей SEO.Вот почему все эти ссылки работают.

/2817819/url-saita-kak-rabotaet-perepolnenie-steka
http://stackoverflow.com/questions/4229090
http://stackoverflow.com/questions/4229090/foobar

Это просто ссылка на этот идентификатор, чтобы поднять вопрос

0 голосов
/ 19 ноября 2010

В случае SO процесс на стороне сервера извлекает вопросный номер (4229090) из URL и игнорирует остальное (website-url-how-do-stack-overflow-work).Он использует число для поиска в базе данных.

Существует множество различных способов извлечь это число.Особенности зависят от вашей среды программирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...