Глава 22 · Веб-разработка с Python
URL: домен, путь, параметры и фрагмент
У каждого адреса в вебе есть чёткая структура — разберём её по частям на одном примере.
URL (Uniform Resource Locator — единый указатель ресурса) — это полный адрес чего-то в вебе: страницы, изображения, API-ответа. У него есть чёткая структура, и каждая часть отвечает за своё:
https://example.com:443/products/42?sort=price#details
схема
https
хост (домен)
example.com
порт
443
путь
/products/42
строка запроса
?sort=price
фрагмент
#details
| Часть | Значение в примере | За что отвечает |
|---|---|---|
| Схема | https | Каким протоколом пользоваться (раздел 22.10) |
| Хост (домен) | example.com | К какому серверу обращаться |
| Порт | 443 | Номер сетевого порта, к которому выполняется подключение — часто не пишется явно, потому что у схемы есть порт по умолчанию |
| Путь | /products/42 | Какой ресурс на сервере нужен |
| Строка запроса | ?sort=price | Дополнительные параметры в формате ключ=значение |
| Фрагмент | #details | Место внутри самой страницы |
Фрагмент не уходит на сервер
Часть адреса после
# обрабатывает сам браузер — обычно чтобы прокрутить страницу к элементу с таким идентификатором. Она не передаётся на сервер как часть HTTP-запроса: сервер, ответивший на /products/42?sort=price#details, физически не видит #details — он получает запрос только на /products/42?sort=price.Строка запроса — несколько параметров
После ? параметры перечисляются через
&: ?sort=price&page=2 —
два параметра, sort и page. Flask
читает их через request.args:
query_params.py
@app.route("/tovary")
def tovary():
sortirovka = request.args.get("sort", "name")
return f"Сортировка: {{sortirovka}}"
Практика: разбор URL
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки