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. query & params
Розкажу ще трохи про query
.
Частина посилання під назвою query
починається одразу після знака питання і закінчується знаком # (або кінцем посилання). Інформація в query являє собою набір параметрів у такому вигляді:
name=value&name2=value2&nameN=valueN
URL не може містити пробілів та ще купу різних символів, тому всі підозрілі символи екрануються. Швидше за все, ти часто з таким стикався, коли копіював посилання і кидав його другу:
width="300" | Символ | Кодування |
---|---|---|
1 | пробіл | %20 |
2 | ! | %21 |
3 | # | %22 |
4 | $ | %24 |
5 | % | %25 |
6 | & | %26 |
7 | ' | %27 |
8 | * | %2A |
9 | + | %2B |
10 | , | %2C |
11 | / | %2F |
Докладніше на цю тему можна почитати за цим посиланням.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ