4

Например, веб-страница, на которой я сейчас нахожусь:

https://superuser.com/questions/ask

не:

https://superuser.com/questions/ask.html

https://superuser.com/questions/ask.php

Я заметил это для всех видов сайтов. Разве разработчики просто не удосуживаются ставить суффиксы на файлы?

3 ответа3

5

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

На этих более продвинутых сайтах (или, по крайней мере, в большей степени управляемых пользовательским программным обеспечением), URL является скорее директивой для программного обеспечения, а не спецификатором для конкретного файла, и поэтому не имеет оснований включать расширение (которое является просто способом для операционные системы, чтобы удобно сказать, что это за файл-то).

Вы не запрашиваете файл на таком сайте, как superuser; вы делаете запрос к API (так сказать). Таким образом, нет необходимости в расширении файла.

1

StackExchange - это приложение ASP.NET MVC. MVC означает Модель, Вид и Контроллер. URL-адрес https://superuser.com/questions/ask говорит, что перейдите к контроллеру «questions» и найдите мне метод «ask», который затем развернется и вернет представление пользователю. Таким образом, с одной стороны, вы фактически не переходите на страницу, вы переходите к программному методу, расположенному на веб-сервере.

Во-вторых, существуют другие сайты, которые могут иметь URL-адрес, например https://superuser.com/questions/ask, который фактически переписывает URL-адрес в фоновом режиме, поэтому вместо http://superuser.com?q=123&a=789, вы получите красивый URL-адрес https://superuser.com/questions/ask. Этот тип фоновой работы можно найти в приложениях, таких как WordPress.

Надеюсь, это поможет объяснить это для вас.

0

Эти "файлы" часто являются каталогами. Большинство серверов позволяют разработчику указывать файл индекса по умолчанию (обычно index.html), так что URL-адрес для каталога может быть введен без отдельного имени файла. Например, Apache позволит вам настроить это с помощью директивы DirectoryIndex в файле .htaccess:

DirectoryIndex index.html

И тогда запрос на каталог, содержащий index.html, будет обслуживаться с индексным файлом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .