Чтобы лучше понять механизмы маршрутизации, для начала взглянем на структуру URL. Типичный URL HTTP-запроса состоит из нескольких частей: схемы, имени хоста, пути, фрагмента и запроса (query).
Рассмотрим, например, URL "http://site1.yourserver.com/path/to/page?a=1&b=2#section" (рисунок 5.1).
Данный URL начинается со схемы (схема, как правило, выглядит как http или https). Затем следует имя хоста - доменное имя вашего веб-сервера (например, site1.yourserver.com). После этого идут необязательные сегменты пути (разделенные символом '/'). То есть, если путь - это "/path/to/page", то "path", "to", и "page" будут его сегментами. Далее, после вопросительного знака следует необязательная часть, называемая запросом (query). Она состоит из одного или нескольких параметров вида "name=value", разделенных друг от друга амперсандом ('&'). Наконец, после решетки ('#'), идет имя фрагмента.
Каждая часть URL использует специальное кодирование символов, называемое URL-кодированием (URL encoding). Оно гарантирует, что URL состоит только из "безопасных" символов из таблицы ASCII 3. Если URL содержит небезопасные символы, они заменяются знаком процента ('%'), за которым следуют две шестнадцатеричные цифры (например, символ пробела будет заменен на '%20').
3) ASCII (American Standard Code for Information Interchange - американский стандартный код для обмена информацией) - это набор символов, используемый для кодирования английского алфавита. Он кодирует 128 символов: цифры, буквы, знаки препинания и несколько управляющих символов, унаследованных от печатных машинок.