Секрет последнего слеша

18:38

Когда вы ставите ссылку на своей странице, не задумываетесь ли вы о том, как нужно записывать 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

Moved Permanently

The document has moved here.

Вся эта абракадабра означает, что документ был перемещен по другому адресу — который отличается всего лишь наличием слэша “/” в конце URL: http://counter.rambler.ru/top100/. И броузер снова обращается к серверу уже по новому адресу.

Таким образом, ничтожный слэш является причиной возрастания нагрузки на сервер, замедления скорости открытия требуемой страницы и увеличения траффика пользователя. Поэтому при записи адреса сайта если это каталог на сервере (например, http://pro.net.ru/fiction/), ставить слэш в конце URL нужно обязательно. 

А вот если при ссылке на корневой каталог сервера (например, http://www.rambler.ru/) вы опустите слэш в конце URL, броузер пользователя сам подставит его. Дело в том, по HTTP-протоколу он должен послать запрос:

GET HTTP/1.0

где не может отсутствовать. Поэтому запросы по ссылкам http://www.rambler.ru и http://www.rambler.ru/ шлются совершенно одинаковые. Но более “элегантно” в ссылках даже на корневой каталог все-таки ставить слэш.

Жарков Станислав