Наприклад, веб-сторінка, на якій я зараз перебуваю:
не:
Я помітив це на всіх видах сайтів. Хіба розробники просто не турбуються ставити суфікси у файли?
Наприклад, веб-сторінка, на якій я зараз перебуваю:
не:
Я помітив це на всіх видах сайтів. Хіба розробники просто не турбуються ставити суфікси у файли?
Відповіді:
Важливо пам’ятати, що URL-адреса - це спосіб вказати ресурс. Цей ресурс може бути будь-якого типу. На більш простих сайтах ресурс запитує файл, який знаходиться в заданій папці на сервері. Але стає набагато частіше, щоб URL був меншим, ніж прямий "дай мені цей файл", а натомість його розбирає веб-движок.
На цих більш просунутих сайтах (або, принаймні, більше керується користувацьким програмним забезпеченням) URL-адреса є скоріше директивою до програмного забезпечення, а не специфікатором для певного файлу, і тому немає підстав включати розширення (що є лише способом для операційні системи, щоб зручно розповісти, що таке файл).
Ви не вимагаєте отримання файлу на такому сайті, як суперпользователь; ви робите запит проти API (так би мовити). Таким чином, у ньому немає потреби в розширенні файлу.
StackExchange - це програма ASP.NET MVC. MVC означає Model, View і Controller. URL-адреса https://superuser.com/questions/ask говорить: перейдіть до контролера "Питання" і знайдіть мені метод "Запитати", який потім повернеться і поверне користувачеві погляд. Таким чином, ви насправді не переходите на сторінку, ви переходите до програмного методу, розміщеного на веб-сервері.
По-друге, є й інші сайти, які можуть мати URL-адресу на зразок https://superuser.com/questions/ask, які насправді переписують URL у фоновому режимі, тому замість http://superuser.com?q=123&a=789 , ви отримаєте прекрасну URL-адресу https://superuser.com/questions/ask . Цей тип фонових робіт можна знайти в таких додатках, як WordPress.
Сподіваюсь, це допоможе вам пояснити це.
Ці "файли" часто насправді є каталогами. Більшість серверів дозволяють розробнику вказати індексний файл за замовчуванням (зазвичай index.html), таким чином, що URL-адресу для каталогу можна вводити без окремого імені файлу. Наприклад, Apache дозволить вам налаштувати це за допомогою DirectoryIndex
директиви у файлі .htaccess:
DirectoryIndex index.html
І тоді запит до каталогу, що містить index.html, буде поданий з файлом індексу.