Чи додається косою косою рисою автоматично при натисканні URL-адреси домашньої сторінки у браузері?


17

Я запитую це тому, що коли я наведіть курсор на посилання на домашню сторінку (наприклад http://www.example.com), я помічаю, що завжди додається косою косою рисою (як це спостерігається на панелі стану браузера), чи містить посилання на домашній сторінці атрибут href, який закінчується коса коса риса чи ні. Але коли я перебуваю на домашній сторінці, URL-адреса на дисплеї не матиме кінцевої косої риски.

Я спробував ввести нахил до URL-адреси в рядку URL-адрес. І з увімкненою Firebug я помічаю, що сайт завжди повертає статус 200 ОК. Стаття тут обговорювати ці стани, що мають косу риску в кінці уникне 301 перепризначення. Але я не бачу перенаправлення навіть на цій сторінці.

Чи може це бути функцією браузера, яка додає косу рису?


Так. Наприклад, я думаю, що Opera приховує нахил вперед (і він також приховує протокол, який іноді зводить мене з розуму від dev!) ...
Метт

Яке саме тут питання? (Або пункт питання.) А що таке "той" сайт, на який ви посилаєтесь? Якщо ви зареєструєтесь тут, наприклад, з веб-майстрами, то зауважте, що у Firefox та Chrome (я не проходжу повний раунд тестування) те, що ви описуєте, як додається коса коса риса, не відбувається. Насправді, здається, змушують видалити косу рису, якщо спробувати додати її.
Су ’14

@ Su ', я маю на увазі будь-який сайт, а рядок стану посилається на той, який відображається внизу будь-якого веб-переглядача, а URL-адреса - на адресному рядку вгорі. Вибачте, якщо я викликав у вас сум'яття.
Переповнення запитань

2
@Matt Opera також приховує рядок запиту (біт після ?в URL), який є досить дурним IMO.
НевдоволенийGoat

Відповіді:


28

Так, усі основні веб-переглядачі "додають косу рису" до HTTP-запиту під час запиту голової URL-адреси домену (тобто домашньої сторінки). Це фактично необхідно для того, щоб зробити HTTP-запит дійсним, що для http://example.com/:

GET / HTTP/1.1
Host: example.com

Зверніть увагу /(косою рискою) у першому рядку - це запитувана URL-адреса. Тут не вірно нічого не мати . Від RFC 2616 :

Зауважте, що абсолютний шлях не може бути порожнім; якщо в оригінальному URI жодного немає, його ОБОВ'ЯЗКОВО вказати як "/" (корінь сервера).

Потрібно переглянути запит HTTP, який браузер подає на сервер. URL-адреса, що відображається в "рядку стану браузера", або навіть URL-адресі в адресному рядку може бути іншою - більш зручною для користувачів. Google Chrome не додає косою косою рисою в рядку стану, хоча коса риса присутня у запиті.

Перенаправлення № 301 не відбувається, якщо ви вказали http://example.com(без косої риски), оскільки браузер виправляє HTTP-запит перед тим, як його зробити.

Зауважте, що це відрізняється від косої лінії, яка додається в кінці URL-адреси, коли є шлях / каталог. напр. http://example.com/directory/. Стаття, на яку ви посилаєтесь, здається, трактує і те саме, і, здається, не зовсім коректне ІМО. Якщо ви запитували http://example.com/directory(без косої риски), то браузер не додає косу рису, і так, більшість серверів переспрямує 301 на http://example.com/directory/(слэш) - але це залежить від сервера; він може просто зламатися! Наприклад, для Apache, це залежить від встановленої DirectorySlashдирективи on.


Щоб додати відповідь, кожного разу, коли ви посилаєтесь на свою домашню сторінку, додайте прорізну косу рису для збереження ресурсів сервера.
Анагіо

5
@Anagio Я не думаю, що ти розумієш відповідь. Ви б не зберегли серверні ресурси взагалі, оскільки переадресації немає. Домен з косою рисою та без неї є 100% однаковим. Іншими словами, немає абсолютно ніякого способу повернення різного вмісту для кожного (що можна зробити з URL-адресами каталогів).
НевдоволенийGoat

1
@DisgruntledGoat, якщо ви залишите кінець косої риски, і сервер переспрямовує, а потім додавання кінцевої косої риски у посиланнях врятує сервер від необхідності перезавантажуватися на сторінку. Це все, на що я збирався, щоб перевести цей нарізний переговор на відпочинок У Google є чудова стаття про нього googlewebmastercentral.blogspot.com/2010/04/…
Anagio

5
@Anagio Ця стаття стосується останньої косої риски для каталогів , тоді як це питання стосується лише косої косої риски для домену . Як зазначено у відповіді вище, це робить нульову різницю, оскільки посилання на example.comабо example.com/обидва вимагає точно однакового запиту до сервера.
НевдоволенийGoat

3
... тому що браузер це "виправить".
unor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.