VDS за 300р от нашего партнера SpaceWeb
[58]
07 Мар 2014, 22:29

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

Привет!

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

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

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

Комментарии (2)
grom 08.03.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-подобное имя файла.
+2
zzoll 08.03.2014 12:33

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

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

Войдите, чтобы написать о чем-нибудь...
Вход Регистрация
Web.onRails
Здесь вы можете спросить или написать обо всём, что касается Веб-разработки.
написать о чем-нибудь...
Метки:
Лучшее
[4]
10 Окт 2018, 15:33
Как запретить просмотр сайта по IP?
[просмотров 5109]
[118]
21 Июл 2011, 14:04
Python Imaging Library (PIL)
[просмотров 3612]
[52]
16 Окт 2011, 15:38
Вывести все элементы POST
[просмотров 3440]
[74]
31 мая 2011, 11:48
Python проверка существования переменной
[просмотров 3023]
[1]
13 Фев 2019, 14:23
Как получить значение CSS в javascript
[просмотров 2822]
[58]
29 мая 2012, 12:08
Узнать версию PHP из командной строки
[просмотров 2750]
[315]
16 Июл 2011, 20:03
Python работа с MySQL
[просмотров 2660]
[100]
19 Дек 2014, 16:16
User-agent для Internet Explorer 11
[просмотров 2405]

Вести с Хабра