Ответ
URL (Uniform Resource Locator) — это стандартизированный адрес ресурса в сети. Он состоит из нескольких логических частей, каждая из которых выполняет свою функцию.
Рассмотрим на примере: https://www.example.com:8080/path/to/resource?key=value#section
-
https— Схема (Протокол). Определяет, какой протокол использовать для доступа к ресурсу. Наиболее распространеныhttp,https,ftp,mailto. -
www.example.com— Хост (Доменное имя или IP-адрес). Указывает на сервер, где находится ресурс. -
:8080— Порт. Числовой идентификатор конкретного процесса или сервиса на сервере. Является необязательной частью. Если порт не указан, используется стандартный для протокола (например, 80 дляhttpи 443 дляhttps). -
/path/to/resource— Путь. Указывает на конкретное местоположение ресурса на сервере, аналогично пути в файловой системе. -
?key=value— Параметры запроса (Query String). Начинаются с символа?и содержат парыключ=значение, разделенные амперсандом&. Используются для передачи дополнительной информации на сервер. -
#section— Фрагмент (Якорь). Начинается с символа#. Указывает на определенную часть внутри самого ресурса (например, на заголовок на веб-странице). Обрабатывается на стороне клиента (в браузере) и не передается на сервер.
Пример разбора в Python:
from urllib.parse import urlparse
url = "https://www.example.com:8080/path/to/resource?key=value#section"
parsed_url = urlparse(url)
print(f"Схема: {parsed_url.scheme}") # https
print(f"Хост: {parsed_url.hostname}") # www.example.com
print(f"Порт: {parsed_url.port}") # 8080
print(f"Путь: {parsed_url.path}") # /path/to/resource
print(f"Параметры: {parsed_url.query}") # key=value
print(f"Фрагмент: {parsed_url.fragment}") # section