Из каких основных частей состоит URL?

Ответ

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