LINUX.ORG.RU

Как правильнее со слешом «https://example.com/» или без «https://example.com»

 , , ,


1

5

Всем привет! Как вы считаете со слешом "https://example.com/" или без слеша "https://example.com"? Посмотрев немногие крупные сайты я пришел к выводу что например:

https://www.mozilla.org/ - использует слешы в конце путей
https://vimeo.com/channels/staffpicks - не использует
https://youtube.com/feed/trending - тоже не использует
https://www.paypal.com/us/webapps/mpp/send-money-online - без

Какое правильным считается? Если сайт будет со слешем, google санкции же будут предпринимать к данным сайтам? Вы сами как делаете? Слешем или без?

Flask'е допустим роутинг всегда со слешем выдается, вы считаете это правильным решением?



Последнее исправление: Hufoc (всего исправлений: 4)

Попробуй заметить разницу... и расскажи нам...

Shulman
()

В принципе, главное чтобы сайт нормально функционировал и хороший контент на странице.

Нормальная практика это https://site.com/articles/ - страница с записями https://site.com/article/my_first_article - страница с 1 записью, можно на конце добавлять .html

А сильно ли нынче влияет чпу урлы, это вряд ли

anonymous
()

Для / — вообще по барабану

Deleted
()

Как вы считаете со слешом "https://example.com/" или без слеша "https://example.com"?

Именно это - одно и то же.

Какое правильным считается?

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

Если сайт будет со слешем, google санкции же будут предпринимать к данным сайтам?

Нет, конечно. По-твоему гуглу больше заняться нечем? 99% пользователей адрес вообще не видят, современные браузеры его скрывают, оставляя только домен.

Вы сами как делаете? Слешем или без?

Без, зачем плодить ненужные сущности.

Flask'е допустим роутинг всегда со слешем выдается, вы считаете это правильным решением?

Пофиг.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

ну ту чутка выше приводилось что лор на news без слеша выдает 404 :) значит «суслика не видно, но он есть» (с) ДМБ.
как настроен/написан сервер, так и буде работать.

pfg ★★★★★
()
Ответ на: комментарий от anonymous

Плюсую.

Однако, добавлю: т.к. урл уже давно «человекоподобный» в 99% случаев, и, даже для «директорий», лучше запиливать без слеша, и если запрос был с слешем, то редиректить на безслеша, т.к. человек может недокопировать текст ссылки или не допечатать руками слеш в конце. И ничего страшного если он лишний слеш напишет.

Можно даже не редиректить и что с слешем что без него выдавать одну и ту же страницу, ты же уже, если вумный, воткнул внутрь страниц это:

<base href="https://domain.tld/path/do/resource">
<link rel="canonical" href="https://domain.tld/path/do/resource">

deep-purple ★★★★★
()
Ответ на: комментарий от Legioner

При этом, конечно, не стоит делать два разных URL-а, отличающихся только наличием слеша. По-твоему гуглу больше заняться нечем? 99% пользователей адрес вообще не видят, современные браузеры его скрывают, оставляя только домен.

https://support.google.com/webmasters/answer/139066?hl=ru

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

.к. человек может недокопировать текст ссылки или не допечатать руками слеш в конце

Наоборот слеш или расширение показывают, что ссылка окончена, а если их нет - можно недопечатать символы или потерять при копировании.

anonymous
()
Ответ на: комментарий от anonymous

Я согласился с

Url это файловая система

и там, да

слеш или расширение показывают, что ссылка окончена

но отметил, что при Человеко-Понятном-Урл, когда директория виртуальна, слеш не нужен, кстати, зацени:

$ pwd

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

Однако, добавлю: т.к. урл уже давно «человекоподобный» в 99% случаев, и, даже для «директорий», лучше запиливать без слеша, и если запрос был с слешем, то редиректить на безслеша, т.к. человек может недокопировать текст ссылки или не допечатать руками слеш в конце. И ничего страшного если он лишний слеш напишет.

Да какая нахер файловая система, если все роутится. Лишний слеш не мешает, отсутствие может помешать (пример описал в предыдущем комментарии).

anonymous
()
Ответ на: комментарий от deep-purple

Смехуечки в тех разделе, очень мило. Если у тебя есть длинный и неудобный чпу из [a-z\d]+, который непонятно где заканчивается, логичнее его ДЛЯ УДОБСТВА пользователя закончить на слеш или любое расширение. Ответить нечего, кроме картиночек?

anonymous
()
Ответ на: комментарий от anonymous

URI это просто универсальный идентификатор ресурса, удобочитаемая запись, не более. А как ее будет интерпретировать сервер это зависит от конкретных настроек

gobot ★★★★
()

Не знимаюсь вебом, но имхо это каждый знает:

слеш в конфце это типа доступ к директории, в которой по-умолчанию будет искаться что-то вроде index. php|html|htm|(и т.д. завроде экзотики в виде aspx), причем файлы такого формата согласно вики браузеры ищут автоматически https://ru.wikipedia.org/wiki/Index.htm

если адрес на конце вводится без / то в сервере должен быть настроено что-то что наверное называется редиректом.

например если настроен редирект то по запросу на someaddr.domain/gallery сервер перенаправит запрос на someaddr.domain/gallery/ а оттуда уже браузер будет искать index.* файл, но это (gallery->gallery) сработает только когда редирект настроен, иначе будет:

www.linux.org.ru/news — 404

кстати обычно на сайтах someaddr.domain/gallery/ == someaddr.domain/gallery/index.что-то-там, чаще всего index.php

но на лоре видимо адрес непосредственной стр а не её каталога скрыли: вот например как это можно на апаче делать

bonta ★★★★★
()
Ответ на: комментарий от bonta

Не знимаюсь вебом, но имхо

Не надо

anonymous
()

Я после изысканий пришел к выводу слеши в конце путей использовать

Надоумило django если слеш в конце есть по коду, то в случае набора урла без слеша оно редиректит на слеш

А вот со слеша на без слеша не редиректит

А вообще это вопрос часто философский, кому как нравится

ism ★★★
()
Последнее исправление: ism (всего исправлений: 2)

Слэш в конце URL означает открывающуюся скобку для параметров запроса HTTP GET. Если параметры есть, то слэш нужен, если параметров нет, то нуевонах.

iZEN ★★★★★
()

При копировании из Хрома, слеш копируется, хотя и не виден, если просто смотреть в адресную строку.

Также, этот вопрос когда-то задавали одному из первопроходцев российской веб-разработки - А. Лебедеву. Он ответил, что правильнее со слешем, потому что обозначает директорию.

Deleted
()

Я просто делаю, чтобы адрес и со слешем и без слеша выдавали одно и то же. Лишняя строчка в конфиге, чтобы это сделать, тебя не убьёт.

SiberianHusky
()

Как вы считаете со слешом "https://example.com/" или без слеша "https://example.com"?

Если вы в веб-обозревателе для главной страницы сайта не указываете в конце слэш, то его добавляет сам обозреватель - в HTTP запросе всегда прилетает GET / ...

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

Что касается, внутренних страниц сайта, то здесь у вас полная свобода. Слэш иногда используют для начальных страниц отдельных разделов сайта - чтобы они формально отличались от конечных «листиков». Хотя с точки зрения SEO в настоящее время это и необязательно - поисковики нынче умные и просекают структуру сайта при любом варианте. Главное, чтобы на сайте не было дубликатов со слэшем и без - вот это уже может доставить SEO-неприятности. Ну и если вы выбрали для URL-ки какой-то один канонический вариант, а прилетает HTTP-запрос с альтернативой, то обязательно нужно возвращать HTTP-код 404 или выполнять 302-ю переадресацию на каноническую URL-ку.

vinvlad ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.