Ставить или не ставить слэш на конце URL?
Сегодня мы поговорим о стандартах веба. Иногда встречается вопрос о формирование адреса страницы, особенно когда дело идёт о Человеко Подобных Урлах(ЧПУ).
Итак, чтобы разобраться, ставить на конце урл или нет, нужно обратиться к спецификации:
Нас интересует такой вот документ RFC 1738 — Uniform Resource Locators (URL) tools.ietf.org/html/rfc1738 , а именно раздел 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.
Далее рассмотрим раздел раздел 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-подобное имя файла.
Подведём итог:
1. Для отображения каких либо разделов сайта, списков страниц или прочих структурных элементов сайта содержащих перечни - используем окончание URL с "/"
2. Для отображения описания какого либо элемента сайта - будь то новость на крупном портале или товар в интернет магазине - используем окончание URL без "/"
3. Для отображения файлов на сайте также используем окончание URL без "/" (например http://site.ru/robots.txt)
4. Немного углубившись в премудрости СЕО и оптимизации сайтов для лучшего продвижения, мы знаем, что дубли страниц (страницы одинакового содержания, но с разным URL очень плохо(http://site.ru/robots.txt и http://site.ru/robots.txt/ - это разные урлы) сделаем ещё один вывод - Не допускать возможность просмотра одного структурного элемента(файла) c "/" на конце и без. Необходимо настраивать редиректы для избежания подобных ошибок.