URI (Uniform Resource Identifier) - унифицированный идентификатор ресурса или полный адрес, по которому происходит обращение. В кратце, он позволяет идентифицировать какой-либо ресурс: физический (https://assets.habr.com/habr-web/img/favicons/favicon-16.png - файл на сервере) или абстрактный (https://www.youtube.com/watch?v=e_atyw0IDqg - его не существует).
URN (Uniform Resource Name) - единообразное название ресурса. Может по одному только названию дать вам ресурс (абстрактный или физический). Аналогия URN из жизни: паспорт РФ: Иванов Иван Иванович, паспорт серия 1234 номер 123456.
URL (Uniform Resource Locator) - унифицированный локатор ресурса или комбинация протокола и доменного имени. Пример: https://www.youtube.com. Аналогия URL из жизни: город N/улица M/квартира L
Endpoint - часть адреса, идущая после доменного имени (например, после .com/). Пример: /watch?v=e_atyw0IDqg
Query-параметры - часть URI, следующая после ?. Пример: ?v=e_atyw0IDqg
Существуют варианты использования параметров URL:
URL encoding
Стандарт URL использует набор символов US-ASCII. Является недостатком, поскольку разрешается использовать лишь латинские буквы, цифры и несколько знаков пунктуации.
Остальные символы необходимо перекодировать. Например, перекодироваться должны буквы кириллицы, буквы с диакритическими знаками (á, ë, ĉ), иероглифы и тп.
Перекодирующая кодировка описана в стандарте RFC 3986 и называется URL-encoding/URLencoded или percent‐encoding.
URL-коды зарезервированных символов:
Зарезервированные символы в URL используются для определенных целей в синтаксисе URL, требуют кодирования (encoding), чтобы избежать недоразумений или ошибок при передаче данных через интернет.
Символ | Код UTF-8 | Описание |
---|---|---|
пробел | %20 | Разделение текста |
! | %21 | Разделяет части URL |
* | %2A | Замена символов |
' | %27 | Строковые параметры |
( | %28 | Группировка |
) | %29 | Группировка |
; | %3B | Разделение параметров |
: | %3A | Разделение схемы и пути |
@ | %40 | Разделение пользователя и хоста |
& | %26 | Разделение параметров запроса |
= | %3D | Связь ключ-значение в параметрах |
+ | %2B | Замена пробелов в запросах |
$ | %24 | Специальные параметры |
, | %2C | Разделение значений |
/ | %2F | Разделение путей |
? | %3F | Начало строки запроса |
# | %23 | Указание на фрагмент страницы |
[ | %5B | IPv6 адреса |
] | %5D | IPv6 адреса |
Русский алфавит кодов:
Символ | Код UTF-8 | Маленький символ | Код UTF-8 |
---|---|---|---|
А | %D0%90 | а | %D0%B0 |
Б | %D0%91 | б | %D0%B1 |
В | %D0%92 | в | %D0%B2 |
Г | %D0%93 | г | %D0%B3 |
Д | %D0%94 | д | %D0%B4 |
Е | %D0%95 | е | %D0%B5 |
Ё | %D0%81 | ё | %D1%91 |
Ж | %D0%96 | ж | %D0%B6 |
З | %D0%97 | з | %D0%B7 |
И | %D0%98 | и | %D0%B8 |
Й | %D0%99 | й | %D0%B9 |
К | %D0%9A | к | %D0%BA |
Л | %D0%9B | л | %D0%BB |
М | %D0%9C | м | %D0%BC |
Н | %D0%9D | н | %D0%BD |
О | %D0%9E | о | %D0%BE |
П | %D0%9F | п | %D0%BF |
Р | %D0%A0 | р | %D1%80 |
С | %D0%A1 | с | %D1%81 |
Т | %D0%A2 | т | %D1%82 |
У | %D0%A3 | у | %D1%83 |
Ф | %D0%A4 | ф | %D1%84 |
Х | %D0%A5 | х | %D1%85 |
Ц | %D0%A6 | ц | %D1%86 |
Ч | %D0%A7 | ч | %D1%87 |
Ш | %D0%A8 | ш | %D1%88 |
Щ | %D0%A9 | щ | %D1%89 |
Ъ | %D0%AA | ъ | %D1%8A |
Ы | %D0%AB | ы | %D1%8B |
Ь | %D0%AC | ь | %D1%8C |
Э | %D0%AD | э | %D1%8D |
Ю | %D0%AE | ю | %D1%8E |
Я | %D0%AF | я | %D1%8F |
2.3.1.2 Rest API Theme | Back To iOSWiki Contents | 2.3.1.4 HTTP Methods Theme