Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

Образец запроса GET для корня веб-сайта может быть:

GET / HTTP/1.0

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

Ответ 2

Как сообщает RFC 2616:

3.2.2 URL http

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

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

Если порт пуст или не указан, порт 80. Семантика
что идентифицированный ресурс расположенный на сервере, который прослушивает TCP-соединения на этом порту этого хоста и Request-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
...
Например, клиент, желающий получить ресурс непосредственно из исходного сервера создаст TCP подключение к порту 80 хоста "www.w3.org" и отправьте строки:

   GET /pub/WWW/TheProject.html HTTP/1.1
   Host: www.w3.org

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

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

Ответ 3

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

http://example.com/dir

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

http://example.com/dir/

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

Ответ 4

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

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

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