Rozdział 22 · Tworzenie stron internetowych z Python
URL: domena, ścieżka, parametry i fragment
Każdy adres w sieci ma jasną strukturę — przeanalizujmy go na części, używając jednego przykładu.
URL (Uniform Resource Locator — jednolity identyfikator zasobu) — to pełny adres czegoś w sieci: strony, obrazu, API-odpowiedzi. Ma wyraźną strukturę i każda część odpowiada za swoje:
https://example.com:443/products/42?sort=price#details
schemat
https
host (domena)
example.com
port
443
ścieżka
/products/42
łańcuch znaków prośba
?sort=price
fragment
#details
| Część | Znaczenie na przykładzie | Za co odpowiada |
|---|---|---|
| Schemat | https | Którego protokołu użyć (Rozdział 22.10) |
| Host (domena) | example.com | Do którego serwera się zwracać |
| Port | 443 | Numer portu sieciowego, do którego następuje połączenie — często nie podaje się go jawnie, ponieważ schemat ma port domyślny |
| Ścieżka | /products/42 | Jakie zasoby na serwerze są potrzebne |
| łańcuch znaków zapytania | ?sort=price | Dodatkowe parametry w formacie klucz=wartość |
| Fragment | #details | Przestrzeń wewnątrz samej strony |
Fragment nie trafia na serwer
Część z adresem po
# obsługiwane przez przeglądarkę — zwykle, aby przewinąć stronę do elementu z takim identyfikatorem. Nie jest przesyłane na serwer jako część HTTP-żądania: serwer, który odpowiedział na /products/42?sort=price#details, fizycznie nie widzi #details - Otrzymuje tylko żądanie /products/42?sort=price.łańcuch znaków zapytań — kilka parametrów
Po ? parametry są wymieniane przez
&: ?sort=price&page=2 —
dwa parametry, sort oraz page. Flask
czyta je request.args:
query_params.py
@app.route("/tovary")
def tovary():
sortirovka = request.args.get("sort", "name")
return f"Sortowanie: {{sortirovka}}"
Praktyka: analiza URL
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji