кодированные url что значит
URI — сложно о простом (Часть 1)
Появилось таки некоторое количество времени, и я решил написать сий пост, идея которого возникла уже давно.
Связан он будет будет с такой, казалось бы, простой вещью, как URI, детальному рассмотрению которой в рунете уделяется как-то мало внимания.
«Пфф, ссылки они и в Африке ссылки, чего тут разбираться?» — скажете вы, тогда я задам вопрос:
Перед тем как начать хотел бы обозначить, что есть пост на схожую тему, в котором все обозначено проще и немного понятнее. Целью же этого поста, я ставлю более глубокое изучение вопроса и сбор информации об URI в одном месте, дабы «не потерять». Ну, почти в одном месте, статья будет разделена на две части
А для удобства бахнем оглавление, которое работает не без особенностей URI, которую мы рассмотрим попозжа, в этой статье.
Ознакомление
1. URI
Унифицированный Идентификатор Ресурса, в простонародье — URI
Самое свежее описание того, чем же все-таки являются эти пресловутые URI датируется январем аж 2005-го, а именно RFC3986, написанный самим Тимом Бёнесом-Ли, родоначальника всеми нами любимого тырнета.
Резюмируя п.1.1 можно сформулировать определение:
Многие из вас замечали, что на разных ресурсах ссылки называют то URL, то URI и, вероятно, становилось интересно — какой же из вариантов правильный?
Дело в том, что URL увидел свет и был документирован в 1990 году, в то время как URI был документирован лишь в 1994 году. И вплоть до 2002 года, до выхода RFC3305, уместными были оба варианта именования, что, порой вносило путаницу.
В п.2 RFC3305 сообщается об устаревании такого термина как URL, применимо к ссылкам, и что отныне верным будет именование URI, с того момента, во всех документах W3C использует термин URI. Исходя из этого, применяя термин URL к соответствующим ссылкам, вы не делаете смысловой ошибки, но делаете ее с точки зрения правильного именования.
Так же примечателен тот момент, что вплоть до выхода RFC2396, в 1997 году, URI расшифровывался как Universal Resource Identifier, что можно увидеть в RFC1630
1.1. Синтаксис
URI составлен из ограниченного набора символов, состоящих из цифр, букв и нескольких графических символов, все эти символы вписываются в кодировку US-ASCII (ASCII). Зарезервированное подмножество символов может использоваться, чтобы разграничить компоненты синтаксиса в URI, в то время как остающиеся символы: не зарезервированный набор и включая те зарезервированные символы, которые не действуют как разделители в данной компоненте URI, определяют данные идентификации каждого компонента.
Зарезервированные символы
Не зарезервированные символы
Для данного случая, согласно ABNF :
ALPHA — любая буква верхнего и нижнего регистров кодировки ASCII (в regExp [A-Za-z])
DIGIT — любая цифра (в regExp 7)
HEXDIG — шестнадцатиричная цифра (в regExp [0-9A-F])
Процентное кодирование
Т.о., %20, например, означает пробел.
1.2. Компоненты URI
где в квадратных скобках опциональные компоненты
Переходя по указанной в оглавлении ссылке, браузер производит переход ко вторичному ресурсу относительно данной страницы, т.е. скроллит вниз, до появления нужного на экране.
На этом, пожалуй, знакомство с URI можно закончить и начать углубляться в отдельные подвиды URI, а именно
2. URL
URL используются, чтобы определить местоположение ресурсов, обеспечивая абстрактную идентификацию расположения ресурса. Определив местоположение ресурса, система может выполнить множество операций на ресурсе, которые могут быть характеризованы такими словами как ‘доступ’, ‘обновление’, ‘замена’, ‘поиск атрибутов’. В целом только метод доступа должен быть определен для любой схемы URL.
2.1. Структура
В целом, URL имеет схожую структуру, для всех схем, хотя для каждой отдельно взятой схемы, структура может отличаться от общего шаблона.
Графически ее можно выразить в следующем виде:
3. URN
Унифицированные имена ресурсов (URN) предназначены, чтобы служить постоянными, независимыми от расположения, идентификаторами ресурсов и разработаны для упрощения отображения других пространств имен (которые совместно используют свойства URN) в URN-пространство. Таким образом, синтаксис URN обеспечивает средство закодировать символьные данные в форме, которая может быть отправлена посредством существующих протоколов, записана при помощи большинства клавиатур, и т.д.
3.1. Структура
Самоидентифицирующийся URN
Такие URN содержат в NID название хэш-функции, а в NSS значение хэша, вычисленного для идентифицируемого объекта. Такие ссылки используются в magnet-ссылках и заголовках p2p-сети Gnutela2.
Например, URN из magnet-ссылки с одного торрент-трекера:
magnet:?xt=urn:btih:c68abc1ba9b8c7c4bc373862cad1a8c01d69e53d.
С теорией все, во второй части рассмотрим, что можно и что нужно делать с URI, если мы их обрабатываем, а именно — нормализация, разбор и т.д.
За сим откланяюсь, спасибо что читали, надеюсь не было скучно, удачи!
Таблица URL кодов символов кодировки ASCII
Кодирование URL конвертирует символы в формат, который можно безопасно передать в качестве URL-адреса ресурса через интернет.
URL — это Единый указатель ресурсов (англ. Uniform Resource Locator). Веб-браузеры запрашивают HTML-документы с сервера, используя URL-адрес.
URL — это адрес веб-страницы, например: http://www.wm-school.ru
Кодирование URL
URL-адрес ресурса отправляется в интернет в ASCII-кодировке.
Если в URL содержатся символы, не входящие в ASCII-кодировку, URL конвертируется. Перекодироваться должны буквы кириллицы, буквы с диакритическими знаками, лигатуры, иероглифы. Кодирование URL конвертирует этот адрес в ASCII формат.
Кодировщик URL заменяет небезопасные символы ASCII знаком (%), за которым следуют два шестнадцатиричных числа, которые соответствуют значениям символов из кодировки ISO-8859-1. URL не должен содержать пробелы. Кодировщик URL обычно заменяет пробелы знаком (%20).
URL-коды специальных (управляющих) символов
Первоначально управляющие символы таблицы ASCII (диапазон 00-31, плюс 127) были разработаны для того, чтобы управлять устройствами аппаратных средств, таких как телетайп, ввод данных на перфоленту и др.
Управляющие символы (кроме горизонтальной табуляции, перевода строки и возврата каретки) не используются в HTML-документах.
Таблица URL-кодов специальных (управляющих) символов
URL-коды символов ISO-Latin (диапазон 128-255)
Символы в диапазоне с 128 по 255 отводятся для специфических символов букв алфавитов западно-европейских языков, символов псевдографики, некоторых букв греческого алфавита, а также ряда математических и финансовых символов.
URL-коды символов ISO-Latin (диапазон 128-255)
Зарезервированные символы
Зарезервированные символы — это специальные символы, такие как знак доллара, амперсанд, плюс, слэш, двоеточие, точка с запятой, знак равенства, знак вопроса, знак эт (собака). Все они могут иметь различные значения в URL, поэтому должны быть закодированы.
Таблица URL-кодов зарезервированных символов
Небезопасные символы
Небезопасные символы — это пробел, кавычки, знак меньше, знак больше, знак диез, знак проценты, фигурные скобки, прямой слэш, обратный слэш, тильда, квдратные скобки, гравис. Эти символы также должны всегда быть закодированы.
Кодированные url что значит
Попробуйте другой ввод и нажмите кнопку «Отправить» еще раз.
Функции кодирования URL адреса
В JavaScript, PHP и php есть функции, которые могут быть использованы для URL кодирования строк.
В JavaScript можно использовать функцию encodeURI().
Нажмите кнопку «URL Encode», чтобы увидеть, как функция JavaScript кодирует текст.
Примечание: Функция JavaScript кодирует пространство как %20.
Справочник кодировки ASCII
Ваш браузер будет кодировать ввод в соответствии с набором символов, используемым на вашей странице.
Набор символов по умолчанию в HTML5, UTF-8.
Символ | Из Windows-1252 | Из UTF-8 |
---|---|---|
пространство | %20 | %20 |
! | %21 | %21 |
« | %22 | %22 |
# | %23 | %23 |
$ | %24 | %24 |
% | %25 | %25 |
& | %26 | %26 |
‘ | %27 | %27 |
( | %28 | %28 |
) | %29 | %29 |
* | %2A | %2A |
+ | %2B | %2B |
, | %2C | %2C |
— | %2D | %2D |
. | %2E | %2E |
/ | %2F | %2F |
0 | %30 | %30 |
1 | %31 | %31 |
2 | %32 | %32 |
3 | %33 | %33 |
4 | %34 | %34 |
5 | %35 | %35 |
6 | %36 | %36 |
7 | %37 | %37 |
8 | %38 | %38 |
9 | %39 | %39 |
: | %3A | %3A |
; | %3B | %3B |
%3E | %3E | |
? | %3F | %3F |
@ | %40 | %40 |
A | %41 | %41 |
B | %42 | %42 |
C | %43 | %43 |
D | %44 | %44 |
E | %45 | %45 |
F | %46 | %46 |
G | %47 | %47 |
H | %48 | %48 |
I | %49 | %49 |
J | %4A | %4A |
K | %4B | %4B |
L | %4C | %4C |
M | %4D | %4D |
N | %4E | %4E |
O | %4F | %4F |
P | %50 | %50 |
Q | %51 | %51 |
R | %52 | %52 |
S | %53 | %53 |
T | %54 | %54 |
U | %55 | %55 |
V | %56 | %56 |
W | %57 | %57 |
X | %58 | %58 |
Y | %59 | %59 |
Z | %5A | %5A |
[ | %5B | %5B |
\ | %5C | %5C |
] | %5D | %5D |
^ | %5E | %5E |
_ | %5F | %5F |
` | %60 | %60 |
a | %61 | %61 |
b | %62 | %62 |
c | %63 | %63 |
d | %64 | %64 |
e | %65 | %65 |
f | %66 | %66 |
g | %67 | %67 |
h | %68 | %68 |
i | %69 | %69 |
j | %6A | %6A |
k | %6B | %6B |
l | %6C | %6C |
m | %6D | %6D |
n | %6E | %6E |
o | %6F | %6F |
p | %70 | %70 |
q | %71 | %71 |
r | %72 | %72 |
s | %73 | %73 |
t | %74 | %74 |
u | %75 | %75 |
v | %76 | %76 |
w | %77 | %77 |
x | %78 | %78 |
y | %79 | %79 |
z | %7A | %7A |
< | %7B | %7B |
| | %7C | %7C |
> | %7D | %7D |
%7E | %7E | |
%7F | %7F | |
` | %80 | %E2%82%AC |
| %81 | %81 |
‚ | %82 | %E2%80%9A |
ƒ | %83 | %C6%92 |
„ | %84 | %E2%80%9E |
… | %85 | %E2%80%A6 |
† | %86 | %E2%80%A0 |
‡ | %87 | %E2%80%A1 |
ˆ | %88 | %CB%86 |
‰ | %89 | %E2%80%B0 |
Š | %8A | %C5%A0 |
‹ | %8B | %E2%80%B9 |
Œ | %8C | %C5%92 |
| %8D | %C5%8D |
Ž | %8E | %C5%BD |
| %8F | %8F |
| %90 | %C2%90 |
‘ | %91 | %E2%80%98 |
’ | %92 | %E2%80%99 |
“ | %93 | %E2%80%9C |
” | %94 | %E2%80%9D |
• | %95 | %E2%80%A2 |
– | %96 | %E2%80%93 |
— | %97 | %E2%80%94 |
˜ | %98 | %CB%9C |
™ | %99 | %E2%84 |
š | %9A | %C5%A1 |
› | %9B | %E2%80 |
œ | %9C | %C5%93 |
| %9D | %9D |
ž | %9E | %C5%BE |
Ÿ | %9F | %C5%B8 |
%A0 | %C2%A0 | |
¡ | %A1 | %C2%A1 |
¢ | %A2 | %C2%A2 |
£ | %A3 | %C2%A3 |
¤ | %A4 | %C2%A4 |
¥ | %A5 | %C2%A5 |
¦ | %A6 | %C2%A6 |
§ | %A7 | %C2%A7 |
¨ | %A8 | %C2%A8 |
© | %A9 | %C2%A9 |
ª | %AA | %C2%AA |
« | %AB | %C2%AB |
¬ | %AC | %C2%AC |
%AD | %C2%AD | |
® | %AE | %C2%AE |
¯ | %AF | %C2%AF |
° | %B0 | %C2%B0 |
± | %B1 | %C2%B1 |
² | %B2 | %C2%B2 |
³ | %B3 | %C2%B3 |
´ | %B4 | %C2%B4 |
µ | %B5 | %C2%B5 |
¶ | %B6 | %C2%B6 |
· | %B7 | %C2%B7 |
¸ | %B8 | %C2%B8 |
¹ | %B9 | %C2%B9 |
º | %BA | %C2%BA |
» | %BB | %C2%BB |
¼ | %BC | %C2%BC |
½ | %BD | %C2%BD |
¾ | %BE | %C2%BE |
¿ | %BF | %C2%BF |
À | %C0 | %C3%80 |
Á | %C1 | %C3%81 |
 | %C2 | %C3%82 |
à | %C3 | %C3%83 |
Ä | %C4 | %C3%84 |
Å | %C5 | %C3%85 |
Æ | %C6 | %C3%86 |
Ç | %C7 | %C3%87 |
È | %C8 | %C3%88 |
É | %C9 | %C3%89 |
Ê | %CA | %C3%8A |
Ë | %CB | %C3%8B |
Ì | %CC | %C3%8C |
Í | %CD | %C3%8D |
Î | %CE | %C3%8E |
Ï | %CF | %C3%8F |
Ð | %D0 | %C3%90 |
Ñ | %D1 | %C3%91 |
Ò | %D2 | %C3%92 |
Ó | %D3 | %C3%93 |
Ô | %D4 | %C3%94 |
Õ | %D5 | %C3%95 |
Ö | %D6 | %C3%96 |
× | %D7 | %C3%97 |
Ø | %D8 | %C3%98 |
Ù | %D9 | %C3%99 |
Ú | %DA | %C3%9A |
Û | %DB | %C3%9B |
Ü | %DC | %C3%9C |
Ý | %DD | %C3%9D |
Þ | %DE | %C3%9E |
ß | %DF | %C3%9F |
à | %E0 | %C3%A0 |
á | %E1 | %C3%A1 |
â | %E2 | %C3%A2 |
ã | %E3 | %C3%A3 |
ä | %E4 | %C3%A4 |
å | %E5 | %C3%A5 |
æ | %E6 | %C3%A6 |
ç | %E7 | %C3%A7 |
è | %E8 | %C3%A8 |
é | %E9 | %C3%A9 |
ê | %EA | %C3%AA |
ë | %EB | %C3%AB |
ì | %EC | %C3%AC |
í | %ED | %C3%AD |
î | %EE | %C3%AE |
ï | %EF | %C3%AF |
ð | %F0 | %C3%B0 |
ñ | %F1 | %C3%B1 |
ò | %F2 | %C3%B2 |
ó | %F3 | %C3%B3 |
ô | %F4 | %C3%B4 |
õ | %F5 | %C3%B5 |
ö | %F6 | %C3%B6 |
÷ | %F7 | %C3%B7 |
ø | %F8 | %C3%B8 |
ù | %F9 | %C3%B9 |
ú | %FA | %C3%BA |
û | %FB | %C3%BB |
ü | %FC | %C3%BC |
ý | %FD | %C3%BD |
þ | %FE | %C3%BE |
ÿ | %FF | %C3%BF |
Справочник кодировке URL
Управляющие символы в ASCII %00-%1F первоначально были разработаны для управления аппаратными устройствами.
Управляющие символы не имеют ничего общего с URL.