Когда вы ставите
ссылку на своей странице, не задумываетесь ли вы о том, как нужно
записывать URL сайта: http://www.site.ru или http://www.site.ru/ (с
символом "/" в конце адреса).
Вопрос этот далеко не праздный.
Предположим, что вы поставили ссылку на старый добрый Rambler, опустив
в конце URL слэш: http://counter.rambler.ru/top100. Давайте посмотрим,
что происходит, когда пользователь щелкает мышью по этой ссылке.
Естественно,
ничего экстраординарного не случается. На сервер от броузера
пользователя приходит запрос на получение документа
http://counter.rambler.ru/top100, а сервер отправляет в броузер
следующий ответ:
HTTP/1.1 301 Moved Permanently Date: Mon, 22 Mar 1999 09:15:18 GMT Server: Apache/1.2.6 rus/PL22.2 Location: http://counter.rambler.ru/top100/ Connection: close Content-Type: text/html; charset=windows-1251 Vary: accept-charset
<HTML><HEAD> <TITLE>301 Moved Permanently</TITLE> </HEAD><BODY> <H1>Moved Permanently</H1> The document has moved <A HREF="http://counter.rambler.ru/top100/">here</A>. </BODY></HTML>
Вся
эта абракадабра означает, что документ был перемещен по другому адресу
- который отличается всего лишь наличием слэша "/" в конце URL:
counter.rambler.ru/top100. И броузер снова обращается к серверу уже по
новому адресу.
Таким образом, ничтожный слэш является причиной
возрастания нагрузки на сервер, замедления скорости открытия требуемой
страницы и увеличения траффика пользователя. Поэтому при записи адреса
сайта если это каталог на сервере (например,
http://pro.net.ru/fiction/), ставить слэш в конце URL нужно
обязательно.
А вот если при ссылке на корневой каталог сервера
(например, http://www.rambler.ru/) вы опустите слэш в конце URL,
броузер пользователя сам подставит его. Дело в том, по HTTP-протоколу
он должен послать запрос:
GET <URL> HTTP/1.0
где
<URL> не может отсутствовать. Поэтому запросы по ссылкам
http://www.rambler.ru и http://www.rambler.ru/ шлются совершенно
одинаковые. Но более "элегантно" в ссылках даже на корневой каталог
все-таки ставить слэш