Веб-браузеры всегда отправляют запаздывающую наклонную черту после доменного имени?

Есть ли непротиворечивость и/или стандарт о том, как браузеры отправляют URL в хост, связанный с запаздывающими наклонными чертами?

Значение, если я ввожу http://example.com в строке поиска веб-браузера, браузер, предполагают для добавления запаздывающей наклонной черты (http://example.com/) или нет?

26
задан Greg Hewgill 5 April 2010 в 21:55
поделиться

4 ответа

Обратите внимание, что совсем другой вопрос, когда в URL есть элемент пути:

http://example.com/dir

- это другой URL , чем

http://example.com/dir/

, и на самом деле может содержать другое содержимое, и иметь другой рейтинг в поисковых системах.

9
ответ дан 28 November 2019 в 06:58
поделиться

Как сказано в RFC 2616:

3.2.2 http URL

Схема «http» используется для поиска сетевых ресурсов по протоколу HTTP
. В этом разделе определяется синтаксис схемы и семантика
для URL-адресов http.

http_URL = "http:" "//" host [":" порт] [abs_path ["?" query]]

Если порт пуст или не указан, предполагается порт 80. Семантика
такова, что идентифицированный ресурс расположен на сервере, ожидающем TCP-соединений на этом порту этого хоста, а запрос - URI для ресурса - это abs_path (раздел 5.1.2). Использование IP-адресов в URL-адресах СЛЕДУЕТ по возможности избегать (см. RFC 1900 [ 24]). Если abs_path отсутствует в URL-адресе, он ДОЛЖЕН быть задан как "/" при использовании в качестве Request-URI для ресурса ( раздел 5.1.2). Если прокси-сервер получает имя хоста, которое не является полностью определенным доменным именем , он МОЖЕТ добавить свой домен к полученному имени хоста. Если прокси-сервер получает полное доменное имя , он НЕ ДОЛЖЕН изменять имя хоста.

Подробнее: http://www.faqs.org/rfcs/rfc2616.html#ixzz0kGbpjYWa

5.1.2 Request-URI
...
{ {1}} Например, клиент, желающий получить указанный выше ресурс непосредственно с исходного сервера , создаст TCP соединение с портом 80 хоста {{1} } "www.w3.org" и отправьте строки:

  GET /pub/WWW/TheProject.html HTTP / 1.1 
Хост: www.w3.org 
 

, за которым следует оставшаяся часть запроса . Обратите внимание, что абсолютный путь не может быть пустым; если в исходном URI ничего нет, ему ДОЛЖНО быть дано как "/" (корень сервера).

Подробнее: http://www.faqs.org/rfcs/rfc2616.html#ixzz0kGcaRbqU

16
ответ дан 28 November 2019 в 06:58
поделиться

HTTP-запрос, отправленный из браузера на сервер, не включает имя домена, только «путь» часть (начиная с первого слэша после доменного имени). Поскольку путь не может быть пустым, в этом случае отправляется / .

Пример запроса GET для корневого каталога веб-сайта может быть следующим:

GET / HTTP/1.0

/ выше нельзя пропустить.

29
ответ дан 28 November 2019 в 06:58
поделиться

Что касается протокола, то http://example.com/something и http://example.com/something/ совершенно разные. Некоторые серверы могут перенаправлять вас с одного на другой, если это реализовано таким образом.

Что касается чистых доменных имен, он всегда отправляет запрос, заканчивающийся косой чертой. (Само доменное имя не включается в раздел пути HTTP-запроса, как написали Грег Хьюгилл и другие . Однако он включен в заголовки.)

Вы можете проверить это с помощью такого инструмента, как Fiddler или WireShark.

0
ответ дан 28 November 2019 в 06:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: