Я спрашиваю об этом, потому что всякий раз, когда я наводю указатель мыши на ссылку на домашнюю страницу (например http://www.example.com)
, я замечаю, что всегда добавляется косая черта (как видно в строке состояния браузера), содержит ли ссылка на домашнюю страницу атрибут href, который заканчивается на косая черта или нет. Но всякий раз, когда я нахожусь на домашней странице, отображаемый URL не будет иметь косой черты.
Я попытался ввести косую черту в адресную строку. И с включенным Firebug, я заметил, что сайт всегда возвращает статус 200 OK. Статья здесь обсуждать эти состояния, имеющие косую черту в конце избежит 301 переназначения. Но я не вижу никакого перенаправления, даже на этой странице.
Может ли это быть функцией браузера, которая добавляет косую черту?
?
в URL), что довольно глупо для ИМО.Ответы:
Да, все основные браузеры «добавляют косую черту» к HTTP-запросу при запросе URL-адреса пустого домена (т. Е. Домашней страницы). Это действительно необходимо для того, чтобы сделать HTTP-запрос действительным, для чего
http://example.com/
:Обратите внимание на
/
(косую черту) в первой строке - это запрашиваемый URL. Недопустимо ничего не иметь здесь. Из RFC 2616 :Вам нужно посмотреть HTTP-запрос, который браузер отправляет на сервер. URL-адрес, отображаемый в «строке состояния браузера», или даже URL-адрес в адресной строке может быть другим - более удобным для пользователя. Google Chrome не добавляет косую черту в строке состояния, хотя косая черта присутствует в запросе.
Перенаправление 301 не происходит, если вы укажете
http://example.com
(без косой черты), потому что браузер исправляет HTTP-запрос перед его выполнением.Обратите внимание, что это отличается от косой черты, добавляемой в конец URL, когда есть путь / каталог. например.
http://example.com/directory/
, Статья, на которую вы ссылаетесь, похоже, относится к обоим и не является полностью правильной IMO. Если вы запросилиhttp://example.com/directory
(без косой черты), то браузер не добавляет косую черту, и да, большинство серверов 301 будут перенаправлять наhttp://example.com/directory/
(косая черта), но это зависит от сервера; это может просто сломаться! Например, в Apache это зависит от установкиDirectorySlash
директивыon
.источник
example.com
илиexample.com/
оба требует одинакового запроса к серверу.