2.1 host
После того, как Тим Бернерс-Ли придумал всемирную паутину, HTML, HTTP и веб-серверы, он решил усложнить жизнь будущим веб-программистам и придумал ссылки, или URL. URL расшифровывается как Universal Resource Locator.
Типичная ссылка задается шаблоном:
protocol://host/path?query#anchor
Некоторые из частей могут отсутствовать, но protocol и host всегда должны быть указаны.
Protocol задает имя протокола, по которому будут взаимодействовать клиент и сервер. Типичные названия протоколов: HTTP, HTTPS, FTP, SSH, …
Host — это имя сервера в сети, к которому нужно отправить запрос. Изначально это был IP-адрес, но люди быстро придумали удобочитаемые имена (domain names), чтобы ничего не запоминать. Как будто запомнить пару цифр так сложно)
Изначально никакого query не задумывалось. Path задавал месторасположения HTML-файла, который сервер должен был отдать клиенту. Однако после того, как веб захватили аматоры, они быстро сообразили, что HTML-файлы можно динамически создавать на стороне сервера. Поэтому в URL добавили раздел query, в котором серверу можно передать кучу полезной информации.
Ну и наконец anchor — это просто специальная метка на HTML-странице, которая подсказывает браузеру, что страницу нужно не просто отобразить, но еще и проскролить ее до определенного места, то есть метки.
2.2 query & params
Расскажу еще немного про query.
Часть ссылки под названием query начинается сразу после знака вопроса и заканчивается знаком # (или концом ссылки). Информация в query представляет из себя набор параметров в таком виде:
name=value&name2=value2&nameN=valueN
URL не может содержать пробелов и еще кучу разных символов, поэтому все подозрительные символы экранируются. Скорее всего ты часто с таким сталкивался, когда копировал ссылку и кидал ее другу:
| Символ | Кодировка | |
|---|---|---|
| 1 | пробел | %20 |
| 2 | ! | %21 |
| 3 | # | %22 |
| 4 | $ | %24 |
| 5 | % | %25 |
| 6 | & | %26 |
| 7 | ‘ | %27 |
| 8 | * | %2A |
| 9 | + | %2B |
| 10 | , | %2C |
| 11 | / | %2F |
Более подробно почитать на эту тему можно по ссылке.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ