Назад к вопросам
Intern
107
questionbank
Что такое URI?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
URI (Uniform Resource Identifier) — это последовательность символов, идентифицирующая абстрактный или физический ресурс. URI может быть классифицирован как URL (Uniform Resource Locator), предоставляющий средства его определения местоположения, или URN (Uniform Resource Name), присваивающий уникальное имя в определенном пространстве имен.
Структура URI:
URI обычно состоит из следующих компонентов:
- Схема: Определяет протокол или механизм доступа к ресурсу (например,
http,https,ftp,file). - Полномочия (Authority): Содержит информацию об источнике авторизации, обычно в формате
[userinfo@]host[:port]. - Путь (Path): Определяет конкретный ресурс внутри полномочий.
- Запрос (Query): Содержит дополнительные данные для запроса, представленные в виде пар ключ-значение, разделенных символом
&. - Фрагмент (Fragment): Идентифицирует вторичный ресурс.
Отличия между URI, URL и URN:
| Тип | Описание | Пример |
|---|---|---|
| URI | Идентификатор ресурса (локатор ИЛИ имя) | urn:isbn:0-486-27557-4 |
| URL | Локатор ресурса | https://www.example.com/page.html |
| URN | Имя ресурса | urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 |
- URL указывает на способ доступа к ресурсу и его местоположение.
- URN предоставляет уникальное имя ресурса, которое остается постоянным независимо от его местоположения.
- URI является обобщением как URL, так и URN.
В Python для работы с URI/URL часто используется модуль urllib.parse.
# Пример парсинга URL-строки
from urllib.parse import urlparse
uri_string = "https://user:pass@www.example.com:8080/path/to/resource?query=value#fragment"
parsed_uri = urlparse(uri_string)
# Доступ к компонентам
print(parsed_uri.scheme) # Вывод: https
print(parsed_uri.netloc) # Вывод: user:pass@www.example.com:8080
print(parsed_uri.path) # Вывод: /path/to/resource
print(parsed_uri.query) # Вывод: query=value
print(parsed_uri.fragment) # Вывод: fragment