[58]
07 Мар 2014, 22:29

URL со слешем или без в конце

Привет!

Задам тут вечный вопрос. Как правильнее давать URL со слешем или без в конце?

Если судить логически, то URL заканчивающийся слешем указывает на некую папку, которая должна отражать листинг каталога, а не конкретную страницу. В свою очередь URL без слеша в конце символизирует файл без расширения, который должен отображать конкретную страницу.

Как делаете вы, и почему?

Комментарии (2)
grom
08 Мар 2014, 00:24
#

Есть стандарт RFC 1738 — Uniform Resource Locators (URL) tools.ietf.org/html/rfc1738
В котором говорится какой должен быть URL.

Там есть раздел General URL Syntax, в котором говорится, что URLs используются для 'нахождения' ресурсов, предоставляя абстрактное обозначение местоположения ресурса.

URLs are used to `locate' resources, by providing an abstract identification of the resource location.

Это означает, что URL может быть похож на папку или файл или любую другую строку похожую на представление файлового пространства сервера.

Так что все URL указывают на некие ресурсы, который обрабатываются веб-сервером для получения контента, а не Unix-подобную форму представления имени файла.

В случае в веб-сервером, URL с завершающим слешем может не означать, что мы обращаемся именно к папке, так как сервер может отдавать index.html лежащий в этой папке. Следовательно папка это не папка, а некая абстракция, которая может отдать листинг документов в ней, а может и файл по умолчанию такой как index.html.

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

Раздел 3.2.4 Hierarchy

For some file systems, the "/" used to denote the hierarchical structure of the URL corresponds to the delimiter used to construct a file name hierarchy, and thus, the filename will look similar to the URL path. This does NOT mean that the URL is a Unix filename.

Символ "/" используется для обозначения иерархической структуры URL соответственно разделителю, используемому в конструировании иерархии файловых имен, и таким образом в некоторых файловых системах имя файла выглядит подобным пути URL. Но это не означает, что URL — это Unix-подобное имя файла.

zzoll
08 Мар 2014, 12:33
#

Действительно, в плане веб-сервера http://webonrails.ru/post/1882/ тоже самое что http://webonrails.ru/post/1882/index.php например. Так что этот путь нельзя рассматривать только как папку с точки зрения файловой системы. Так же /post/ может быть не подкаталогом, а параметром по которому находится ресурс поста с конкретным номером.

Добавить комментарий

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки:
Лучшее
[2]
26 Июн 2018, 23:10
Как в React сделать поле input file с кнопкой?
[просмотров 957]
[49]
17 Сен 2011, 15:13
FileZilla перетаскивание файлов
[просмотров 892]
[315]
16 Июл 2011, 20:03
Python работа с MySQL
[просмотров 748]
[118]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 748]
[58]
29 мая 2012, 12:08
Узнать версию PHP из командной строки
[просмотров 737]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 734]
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 657]
[3]
19 Июн 2018, 16:24
React и ReactDOM
[просмотров 650]