Из каких компонентов состоит URL в HTTP GET-запросе?

«Из каких компонентов состоит URL в HTTP GET-запросе?» — вопрос из категории HTTP и веб-протоколы, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

URL (Uniform Resource Locator) в контексте GET-запроса имеет следующую структуру:

https://www.example.com:443/path/to/resource?key1=value1&key2=value2#fragment

  1. Схема (Scheme): https://

    • Указывает протокол (HTTP, HTTPS, FTP).
  2. Хост (Host): www.example.com

    • Доменное имя или IP-адрес сервера.
  3. Порт (Port): :443

    • Опционально. Номер порта для подключения. По умолчанию для HTTP — 80, для HTTPS — 443.
  4. Путь (Path): /path/to/resource

    • Определяет ресурс на сервере (эндпоинт API, путь к файлу).
  5. Строка запроса (Query String): ?key1=value1&key2=value2

    • Начинается с ?. Содержит параметры запроса в виде пар ключ=значение, разделённых &.
    • Важно: Специальные символы в значениях должны быть закодированы (URL Encoding), например, пробел → %20.
  6. Фрагмент (Fragment): #fragment

    • Опционально. Указывает на конкретную часть (якорь) внутри ресурса (например, заголовок на странице). Важно: Фрагмент не отправляется на сервер в HTTP-запросе, обрабатывается только клиентом (браузером).