Лекція 35. URL, HTTP і веб
Лекція 35. URL, HTTP і веб
Section titled “Лекція 35. URL, HTTP і веб”Рівень 6: Мережевий слідопит
Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.
Що ми сьогодні розкриємо
Section titled “Що ми сьогодні розкриємо”- розібрати URL на частини
- зрозуміти модель HTTP request/response
- побачити сирий HTTP-вміст через
curl
Зв’язок з попередніми лекціями
Section titled “Зв’язок з попередніми лекціями”У цій лекції ми використаємо знання про DNS із лекції 34, щоб розібрати будову URL та побачити HTTP у дії.
URL — точна адреса ресурсу
Section titled “URL — точна адреса ресурсу”Розглянь:
https://example.com:443/docs/page?mode=smallСпрощено:
https— схема/протокол доступу;example.com— hostname;443— порт, часто не пишеться, бо для HTTPS він типовий;/docs/page— path;?mode=small— query string.
Не кожен URL містить усі частини явно.
graph LR
A["https://example.com:443/docs/page?mode=small"]
A --> B["https
Схема/
протокол"]
A --> C["example.com
Hostname"]
A --> D[":443
Порт"]
A --> E["/docs/page
Шлях"]
A --> F["?mode=small
Параметри"]
style B fill:#e1f5fe
style C fill:#fff3e0
style D fill:#f3e5f5
style E fill:#e8f5e9
style F fill:#fce4ec
HTTP — правила запитів і відповідей
Section titled “HTTP — правила запитів і відповідей”Браузер як клієнт надсилає HTTP-запит: наприклад «дай ресурс /». Сервер повертає відповідь: статус, заголовки та, можливо, тіло сторінки.
Статуси мають коди: 200 часто означає успіх, 404 — ресурс не знайдено. Є багато інших.
sequenceDiagram
participant B as Браузер 🌐
participant S as Сервер 🖥️
B->>S: GET /index.html
Note right of B: Headers: Host, Accept...
S-->>B: 200 OK
Note left of S: Headers: Content-Type...
Note left of S: Body: HTML код сторінки
B->>S: GET /style.css
S-->>B: 200 OK
B->>S: GET /photo.jpg
S-->>B: 404 Not Found
HTTPS = HTTP через захищене з’єднання
Section titled “HTTPS = HTTP через захищене з’єднання”HTTPS додає TLS-захист каналу: шифрування, перевірку справжності сервера за сертифікатом та цілісність переданих даних. Це значно більше, ніж «буква S».
HTTPS не гарантує, що сам сайт добрий або чесний; воно захищає транспортне з’єднання з тим сайтом, чию адресу ти відкрив.
Приклади
Section titled “Приклади”Приклад 1
Section titled “Приклад 1”curl https://example.com отримує тіло відповіді без графічного браузера.
Приклад 2
Section titled “Приклад 2”curl -I https://example.com просить показати лише заголовки відповіді в типовому сценарії HEAD.
Приклад 3
Section titled “Приклад 3”URL http://localhost:8000/index.html вказує на локальний хост, порт 8000 і шлях /index.html. Саме такий URL ми використаємо для власного сервера.
Linux-лабораторія: браузер без вікна
Section titled “Linux-лабораторія: браузер без вікна”curl https://example.comcurl -I https://example.comЗа бажанням і за наявності мережі:
curl wttr.in/KyivОстанній сервіс зовнішній і може змінюватися або бути недоступним; головний навчальний приклад — example.com, спеціально створений для документаційних прикладів.
Місія для Марка
Section titled “Місія для Марка”Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.
- розбери URL
https://example.com:443/docs/page?mode=smallна частини - виконай
curlіcurl -Iдляexample.com - знайди HTTP status у заголовках
- поясни модель клієнт → request → server → response
- поясни, чого HTTPS не гарантує про зміст сайту
Перевір себе
Section titled “Перевір себе”- Що таке URL?
- Що таке HTTP request?
- Що таке HTTP response?
- Що часто означає статус 404?
- Яку додаткову ідею дає HTTPS?
Терміни однією фразою
Section titled “Терміни однією фразою”- URL — адреса ресурсу з інформацією про протокол, хост, порт, шлях і параметри.
- HTTP (HyperText Transfer Protocol) — правила для запитів і відповідей у вебі.
- HTTPS — HTTP + захист каналу (шифрування та сертифікати).
- Запит (request) — те, що клієнт надсилає серверу (наприклад «дай сторінку»).
- Відповідь (response) — те, що сервер повертає: статус, заголовки, тіло.
- HTTP-статус — код результату (наприклад
200— ок,404— не знайдено). curl— «браузер без вікна»: запитує ресурси через термінал.
Чек-лист перед наступною лекцією
Section titled “Чек-лист перед наступною лекцією”- Чи можеш ти пояснити структуру URL та різницю між HTTP і HTTPS?
- Чи вмієш ти використовувати
curlдля надсилання запитів? - Чи розумієш ти, як статус-коди HTTP повідомляють про результат запиту?
Що потрібно винести з лекції
Section titled “Що потрібно винести з лекції”- URL описує місце й спосіб доступу до ресурсу
- HTTP організований навколо запитів і відповідей
- curl дозволяє досліджувати веб без графічного браузера
Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.