Таблица кодирования символов в URL
15.10.2019
51778
В закладкиВ URL некоторые символы должны кодироваться, в PHP для этого применяется функция urlencode()
. По её алгоритму все символы, кроме латинских букв, -
, _
, .
заменяются знаком процента (%
), за которым идут два шестнадцатеричных числа (поэтому результат зависит от кодировки), пробелы заменяются на знак сложения (+
).
Так же есть функция rawurlencode()
, которая выполняет туже роль, но с минимальным различием – символ ~
остается без изменяя.
Таблица URL-кодирования:
Символ | UTF-8 | ANSI |
---|---|---|
~ | %7E | %7E |
` | 60% | 60% |
‘ | 27% | 27% |
« | 22% | |
@ | 40% | 40% |
? | %3F | %3F |
! | 21% | 21% |
# | 23% | 23% |
№ | %E2%84%96 | %B9 |
$ | 24% | 24% |
% | 25% | 25% |
^ | %5E | %5E |
& | 26% | 26% |
+ | %2B | %2B |
* | %2A | %2A |
: | %3A | %3A |
, | %2C | %2C |
( | 28% | 28% |
) | 29% | 29% |
{ | %7B | %7B |
} | %7D | %7D |
[ | %5B | %5B |
] | %5D | %5D |
< | %3C | %3C |
> | %3E | %3E |
/ | %2F | %2F |
%5C | %5C | |
А | %D0%90 | %C0 |
а | %D0%B0 | %E0 |
Б | %D0%91 | %C1 |
б | %D0%B1 | %E1 |
В | %D0%92 | %C2 |
в | %D0%B2 | %E2 |
Г | %D0%93 | %C3 |
г | %D0%B3 | %E3 |
Д | %D0%94 | %C4 |
д | %D0%B4 | %E4 |
Е | %D0%95 | %C5 |
е | %D0%B5 | %E5 |
Ё | %D0%81 | %A8 |
ё | %D1%91 | %B8 |
Ж | %D0%96 | %C6 |
ж | %D0%B6 | %E6 |
З | %D0%97 | %C7 |
з | %D0%B7 | %E7 |
И | %D0%98 | %C8 |
и | %D0%B8 | %E8 |
Й | %D0%99 | %C9 |
й | %D0%B9 | %E9 |
К | %D0%9A | %CA |
к | %D0%BA | %EA |
Л | %D0%9B | %CB |
л | %D0%BB | %EB |
М | %D0%9C | %CC |
м | %D0%BC | %EC |
Н | %D0%9D | %CD |
н | %D0%BD | %ED |
О | %D0%9E | %CE |
о | %D0%BE | %EE |
%D0%9F | %CF | |
п | %D0%BF | %EF |
Р | %D0%A0 | %D0 |
р | %D1%80 | %F0 |
С | %D0%A1 | %D1 |
с | %D1%81 | %F1 |
Т | %D0%A2 | %D2 |
т | %D1%82 | %F2 |
У | %D0%A3 | %D3 |
у | %D1%83 | %F3 |
Ф | %D0%A4 | %D4 |
ф | %D1%84 | %F4 |
Х | %D0%A5 | %D5 |
х | %D1%85 | %F5 |
Ц | %D0%A6 | %D6 |
ц | %D1%86 | %F6 |
Ч | %D0%A7 | %D7 |
ч | %D1%87 | %F7 |
Ш | %D0%A8 | %D8 |
ш | %D1%88 | %F8 |
Щ | %D0%A9 | %D9 |
щ | %D1%89 | %F9 |
Ъ | %D0%AA | %DA |
ъ | %D1%8A | %FA |
Ы | %D0%AB | %DB |
ы | %D1%8B | %FB |
Ь | %D0%AC | %DC |
ь | %D1%8C | %FC |
Э | %D0%AD | %DD |
э | %D1%8D | %FD |
Ю | %D0%AE | %DE |
ю | %D1%8E | %FE |
Я | %D0%AF | %DF |
я | %D1%8F | %FF |
15. 10.2019, обновлено 18.10.2019
51778
#HTTP #PHP #URL #Домены
В закладкиДругие публикации
Таблица символов KOI8-R
KOI8-R (КОИ8-R) представляет собой восьмибитовую кодовую страницу для кодирования букв кириллических алфавитов, совместима с кодировкой ASCII.
HTML — кодировка URL — CoderLessons.com
Управляющие символы ASCII – непечатаемые символы, обычно используемые для управления выводом. Диапазон символов 00-1F шестнадцатеричный (0-31 десятичный) и 7F (127 десятичный). Полная таблица кодирования приведена ниже.
Не-ASCII управляющие символы – это символы за пределами набора символов ASCII из 128 символов.
Зарезервированные символы – это специальные символы, такие как знак доллара, амперсанд, плюс, общий, косая черта, двоеточие, точка с запятой, знак равенства, знак вопроса и символ «at». Все они могут иметь разные значения внутри URL, поэтому их необходимо кодировать. Полная таблица кодирования приведена ниже.
Небезопасные символы – это пробел, кавычки, меньше символа, больше символа, символ фунта, символ процента, левая фигурная скобка, правая фигурная скобка, труба, обратная косая черта, каретка, тильда, левая квадратная скобка, правая квадратная скобка, могильный акцент , Эти символы дают возможность быть неправильно понятыми в URL-адресах по разным причинам. Эти символы также всегда должны быть закодированы. Полная таблица кодирования приведена ниже.
Управляющие символы ASCII – непечатаемые символы, обычно используемые для управления выводом. Диапазон символов 00-1F шестнадцатеричный (0-31 десятичный) и 7F (127 десятичный). Полная таблица кодирования приведена ниже.
Не-ASCII управляющие символы
Зарезервированные символы – это специальные символы, такие как знак доллара, амперсанд, плюс, общий, косая черта, двоеточие, точка с запятой, знак равенства, знак вопроса и символ «at». Все они могут иметь разные значения внутри URL, поэтому их необходимо кодировать. Полная таблица кодирования приведена ниже.
Небезопасные символы – это пробел, кавычки, меньше символа, больше символа, символ фунта, символ процента, левая фигурная скобка, правая фигурная скобка, труба, обратная косая черта, каретка, тильда, левая квадратная скобка, правая квадратная скобка, могильный акцент , Эти символы дают возможность быть неправильно понятыми в URL-адресах по разным причинам.
Нотация кодирования заменяет нужный символ тремя символами: знаком процента и двумя шестнадцатеричными цифрами, которые соответствуют позиции символа в наборе символов ASCII.
пример
Одним из наиболее распространенных специальных символов является пробел. Вы не можете ввести пробел в URL напрямую. Позиция пробела в наборе символов составляет 20 шестнадцатеричных. Таким образом, вы можете использовать% 20 вместо пробела при передаче вашего запроса на сервер.
http://www.example.com/new%20pricing.htm
Этот URL-адрес фактически извлекает документ с именем «new pricing.htm» с сайта www.example.com.
Кодировка управляющих символов ASCII
Это включает в себя кодирование для диапазонов символов 00-1F шестнадцатеричное (0-31 десятичное) и 7F (127 десятичное)
Десятичный | Шестнадцатеричное значение | символ | Кодирование URL |
---|---|---|---|
0 | 00 | % 00 | |
1 | 01 | % 01 | |
2 | 02 | % 02 | |
3 | 03 | % 03 | |
4 | 04 | % 04 | |
5 | 05 | % 05 | |
6 | 06 | % 06 | |
7 | 07 | % 07 | |
8 | 08 | возврат на одну позицию | % 08 |
9 | 09 | табуляция | % 09 |
10 | 0a | перевод строки | % 0a |
11 | 0b | % 0b | |
12 | 0с | % 0с | |
13 | 0d | возврат каретки | % 0D |
14 | 0e | % 0e | |
15 | 0f | % 0f | |
16 | 10 | % 10 | |
17 | 11 | % 11 | |
18 | 12 | % 12 | |
19 | 13 | % 13 | |
20 | 14 | % 14 | |
21 | 15 | % 15 | |
22 | 16 | % 16 | |
23 | 17 | % 17 | |
24 | 18 | % 18 | |
25 | 19 | % 19 | |
26 | 1a | % 1а | |
27 | 1б | % 1b | |
28 | 1c | % 1c | |
29 | 1d | % 1d | |
30 | 1e | % 1е | |
31 | 1f | % 1f | |
127 | 7е | % 7е |
Кодировка управляющих символов не ASCII
Это включает в себя кодирование для всей “верхней половины” ISO-Latin набора 80-FF hex (128255 десятичное. )
Десятичный | Шестнадцатеричное значение | символ | Кодирование URL |
---|---|---|---|
128 | 80 | € | % 80 |
129 | 81 | % 81 | |
130 | 82 | , | % 82 |
131 | 83 | ƒ | % 83 |
132 | 84 | « | % 84 |
133 | 85 | … | % 85 |
134 | 86 | † | % 86 |
135 | 87 | ‡ | % 87 |
136 | 88 | % 88 | |
137 | 89 | ‰ | % 89 |
138 | 8а | Š | % 8а |
139 | 8б | < | % 8b |
140 | 8в | О. Н | % 8c |
141 | 8d | % 8d | |
142 | 8е | Ž | % 8e |
143 | 8е | % 8е | |
144 | 90 | % 90 | |
145 | 91 | ‘ | % 91 |
146 | 92 | ‘ | % 92 |
147 | 93 | « | % 93 |
148 | 94 | » | % 94 |
149 | 95 | • | % 95 |
150 | 96 | – | % 96 |
151 | 97 | – | % 97 |
152 | 98 | ~ | % 98 |
153 | 99 | ™ | % 99 |
154 | 9а | š | % 9a |
155 | 9b | > | % 9b |
156 | 9c | œ | % 9c |
157 | 9d | % 9d | |
158 | 9e | ž | % 9e |
159 | 9е | Ÿ | % 9F |
160 | a0 | % a0 | |
161 | a1 | ¡ | % a1 |
162 | a2 | ¢ | % a2 |
163 | a3 | £ | % a3 |
164 | a4 | ¤ | % a4 |
165 | a5 | ¥ | % a5 |
166 | a6 | | | % a6 |
167 | a7 | § | % a7 |
168 | a8 | ¨ | % a8 |
169 | a9 | © | % a9 |
170 | аа | ª | % аа |
171 | аб | « | % аб |
172 | переменный ток | ¬ | % переменный ток |
173 | объявление | %объявление | |
174 | ае | ® | % ае |
175 | аф | ¯ | % аф |
176 | b0 | ° | % b0 |
177 | b1 | ± | % b1 |
178 | Би 2 | ² | %Би 2 |
179 | b3 | ³ | % b3 |
180 | b4 | ‘ | % b4 |
181 | b5 | μ | % b5 |
182 | b6 | ¶ | % b6 |
183 | b7 | · | % b7 |
184 | b8 | ¸ | % b8 |
185 | b9 | ¹ | % b9 |
186 | ба | º | % ба |
187 | бб | » | % бб |
188 | До нашей эры | ¼ | %До нашей эры |
189 | бод | ½ | % шд |
190 | быть | ¾ | %быть |
191 | Б. Ф. | ¿ | % Б.Ф. |
192 | c0 | À | % c0 |
193 | c1 | Á | % c1 |
194 | c2 | Â | % c2 |
195 | c3 | Ã | % c3 |
196 | c4 | Ä | % c4 |
197 | c5 | Å | % c5 |
198 | c6 | Æ | % v6 |
199 | c7 | БЗ | % c7 |
200 | с8 | Э. | % c8 |
201 | с9 | É | % с9 |
202 | Калифорния | Ê | % ча |
203 | центибар | Ë | % центибар |
204 | куб.см | Я | % куб.см |
205 | CD | Я | %CD |
206 | в. п. | Я | % в.п. |
207 | сравни | Я | % ср |
208 | d0 | Ð | % d0 |
209 | d1 | ЦТС | % d1 |
210 | d2 | Ò | % d2 |
211 | d3 | Ó | % d3 |
212 | d4 | Ф | % d4 |
213 | d5 | Õ | % d5 |
214 | d6 | Ö | % d 6 |
215 | d7 | × | % d7 |
216 | d8 | Ø | % d8 |
217 | d9 | Ù | % d9 |
218 | да | Ú | % да |
219 | децибел | Û | % дб |
220 | Округ Колумбия | Ü | %Округ Колумбия |
221 | дд | Ý | % дд |
222 | де | Þ | % от |
223 | Д. Ф. | ß | % Д.Ф. |
224 | e0 | à | % e0 |
225 | e1 | á | % e1 |
226 | e2 | â | % e2 |
227 | e3 | ã | % e3 |
228 | e4 | ä | % e4 |
229 | e5 | å | % e5 |
230 | e6 | æ | % e6 |
231 | e7 | ç | % e7 |
232 | e8 | è | % e8 |
233 | e9 | é | % e9 |
234 | еа | ê | % еа |
235 | Е.Б. | ë | % Е.Б. |
236 | ЕС | я | % ес |
237 | издание | я | % ред |
238 | й | я | % й |
239 | эф | я | % эф |
240 | f0 | ð | % f0 |
241 | f1 | ñ | % f1 |
242 | f2 | ò | % f2 |
243 | f3 | ó | % f3 |
244 | f4 | ô | % f4 |
245 | f5 | õ | % f5 |
246 | f6 | ö | % f6 |
247 | f7 | ÷ | % f7 |
248 | f8 | ø | % f8 |
249 | f9 | ù | % f9 |
250 | фа | ú | % метрономы |
251 | фб | û | % фб |
252 | Ь | ü | % Ь |
253 | FD | ý | % FD |
254 | Fe | þ | % Fe |
255 | Ф. Ф. | ÿ | % Ф.Ф. |
Кодировка зарезервированных символов
Ниже приведена таблица, которая будет использоваться для кодирования зарезервированных символов.
Десятичный | Шестнадцатеричное значение | голец | Кодирование URL |
---|---|---|---|
36 | 24 | $ | % 24 |
38 | 26 | & | % 26 |
43 | 2b | + | % 2b |
44 | 2с | , | % 2c |
47 | 2f | / | % 2f |
58 | 3a | : | % 3a |
59 | 3b | ; | % 3b |
61 | 3d | знак равно | % 3d |
63 | 3f | ? | % 3f |
64 | 40 | @ | % 40 |
Кодировка небезопасных символов
Ниже приведена таблица, используемая для кодирования небезопасных символов.
Что такое кодирование URL и как оно работает?
Раджив Сингх4 минуты
Введение
URL-адрес (унифицированный указатель ресурсов) — это адрес ресурса во всемирной паутине. URL-адреса имеют четко определенную структуру, которая была сформулирована в RFC 1738 Тимом Бернерсом-Ли, изобретателем всемирной паутины.
Каждый URL-адрес подтверждает общий синтаксис , который выглядит следующим образом:
схема:[//[пользователь:пароль@]хост[:порт]]путь[?запрос][#фрагмент]
Некоторые части синтаксиса URL, например [пользователь:пароль@]
, устарели и редко используются из соображений безопасности. Ниже приведен пример URL-адреса, который вы чаще всего видите в Интернете:
https://www.google.com/search?q=hello+world#brs
. Было внесено много улучшений в исходный RFC, определяющий синтаксис унифицированных указателей ресурсов (URL). Текущий документ RFC, определяющий синтаксис универсального URI, — RFC 3986. Этот пост содержит информацию из последнего документа RFC.
Кодировка URL-адреса (процентное кодирование)
URL-адрес состоит из ограниченного набора символов, принадлежащих к набору символов US-ASCII. Эти символы включают цифры (0-9), буквы (A-Z, a-z) и несколько специальных символов ( "-"
, "."
, "_"
, "~"
).
Управляющие символы ASCII (например, backspace, вертикальная табуляция, горизонтальная табуляция, перевод строки и т. д.), небезопасные символы, такие как пробел
, \
, <
, >
, {
, }
и т. д., а любые символы, не входящие в кодировку ASCII, нельзя размещать непосредственно в URL-адресах.
Кроме того, некоторые символы имеют особое значение в URL-адресах. Эти символы называются зарезервированными символами. Некоторые примеры зарезервированных символов: ?
, /
, #
, :
и т. д. Любые данные, передаваемые как часть URL, будь то строка запроса или сегмент пути, не должны содержать эти символы.
Итак, что мы делаем, когда нам нужно передать какие-либо данные в URL-адресе, который содержит эти запрещенные символы? Ну мы их кодируем!
Кодирование URL-адресовпреобразует зарезервированные, небезопасные и не-ASCII-символы в URL-адресах в формат, который повсеместно принимается и понимается всеми веб-браузерами и серверами. Сначала он преобразует символ в один или несколько байтов. Затем каждый байт представляется двумя шестнадцатеричными цифрами, которым предшествует знак процента (
%
) - (например,%xy
). Знак процента используется как escape-символ.
URL-кодирование также называется процентным кодированием, поскольку оно использует знак процента ( %
) в качестве escape-символа.
Пример кодировки URL
Пробел: Один из наиболее частых символов URL-кодировки, с которым вы, вероятно, столкнетесь, — это пробел
. Значение ASCII символа пробел
в десятичном виде равно 32
, что при преобразовании в шестнадцатеричный вид получается 20
. Теперь мы просто предваряем шестнадцатеричное представление знаком процента ( %
), что дает нам закодированное значение URL — %20
.
Справочник по кодировке символов ASCII
В следующей таблице приведены ссылки на символы ASCII в их соответствующей URL-кодированной форме.
Обратите внимание, что кодирование буквенно-цифровых символов ASCII не требуется. Например, вам не нужно кодировать символ от
'0'
до%30
, как показано в следующей таблице. Его можно передать как есть. Но кодировка по-прежнему действительна в соответствии с RFC. Все символы, которые безопасно передавать внутри URL-адресов, выделены в таблице зеленым цветом.
В следующей таблице используются правила, определенные в RFC 3986 для кодирования URL-адресов.
Десятичный | Символьный | Кодировка URL (UTF-8) | |
---|---|---|---|
0 9012 7 | NUL(нулевой символ) | %00 | |
1 | SOH(начало заголовка ) | %01 | |
2 | STX(начало текста) | %02 | |
3 | ETX(конец текст) | %03 | |
4 | EOT(конец передачи) | %04 | |
5 | ENQ(запрос) | %05 | |
6 | ACK (подтверждение) | % 06 | |
7 | BEL(звонок) | %07 | |
8 | BS(backspace) | % 08 | |
9 | HT (горизонтальная вкладка) | %09 | |
10 | LF (перевод строки) | %0A | |
11 | VT (вертикальная вкладка) | %0B | |
12 | FF (подача формы) | %0C | |
13 | CR(возврат каретки) | %0D | |
14 | SO(переключение) | %0E | |
15 | 901 26 SI(вход)%0F | ||
16 | DLE( выход канала передачи данных) | %10 | |
17 | DC1 (управление устройством 1) | %11 | |
18 | DC2 (управление устройством 2) | 9012 6 %12||
19 | DC3 (управление устройством 3) | % 13 | |
20 | DC4 (управление устройством 4) | %14 | |
21 | NAK (отрицательное подтверждение) | 9 0126 %15||
22 | SYN (синхронизация) | %16 | |
23 | ETB(конец блокировки передачи) | %17 | |
24 | CAN(отмена) | %18 | |
25 | EM(конец среды) | %19 | |
26 | SUB (заменитель) | %1A | |
27 | ESC (выход) | %1B | 28 | FS (разделитель файлов) | %1C |
29 | GS(разделитель групп) | %1D | |
30 | RS(разделитель записей) | %1E | |
31 | US(единица измерения) паратор) | %1F | |
32 | пробел | %20 | |
33 | ! | %21 | |
34 | " | %22 | |
35 | # | 901 26 %23||
36 | $ | %24 | |
37 | % | %25 | |
38 | и | %26 | |
' | %27 | ||
40 | ( | %28 | |
41 | ) | %29 | |
42 | * | %2A | |
43 | + | %2B | |
44 | , | %2C | |
45 | - | %2D | |
46 | . | %2E | |
47 | / | %2F | |
48 | 0 | 90 126 %30||
49 | 1 | %31 | |
50 | 2 | %32 | |
51 | 3 | %33 | |
52 | 4 | %34 901 27 | |
53 | 5 | %35 | |
54 | 6 | %36 | |
55 | 90 126 7%37 | ||
56 | 8 | %38 | |
57 | 9 | %39 | |
58 | : | %3A | |
59 | ; | %3B | |
60 | < | %3C | |
61 | = | %3D | |
62 | > | %3E | |
63 | ? | %3F | |
64 | @ | %40 | |
65 | A | 901 26 %41||
66 | В | %42 | |
67 | С | %43 | |
68 | D | %44 | |
69 | E | %45 | |
70 | F | %46 | |
71 | G | 9012 6 %47||
72 | H | %48 | |
73 | I | %49 | |
74 | J | %4A | |
75 | K | %4B | |
76 | L | %4C | |
77 | M | %4D | |
78 | N | %4E | |
79 | O | %4F | |
80 | P | %50 | |
81 | Q | % 51 | |
82 | R | %52 | |
83 | S | %53 | |
84 | T | %54 | |
85 | U | %55 | |
86 | В | %56 | |
87 | Ш | %57 | 9012 2|
88 | X | %58 | |
89 | Y | %59 | |
90 | Z | %5A | |
91 | [ | %5B | |
\ | %5C | ||
93 | ] | %5D | 9%5E |
95 | _ | %5F | |
96 | ` | 9 0126 %60||
97 | а | %61 | |
98 | б | %62 | |
99 | в | %63 | |
100 | г | %64 901 27 | |
101 | e | %65 | |
102 | f | %66 | |
103 | г | %67 | |
104 | ч | 90 126 %68||
105 | i | %69 | |
106 | j | %6A | |
107 | k | %6B | |
108 | л | %6C 901 27 | |
109 | м | %6D | |
110 | n | %6E | |
111 | или | %6F | |
112 | p | 9 0126 %70||
113 | q | %71 | |
114 | r | %72 | |
115 | s | %73 | |
116 | t | %74 9 0127 | |
117 | u | %75 | |
118 | v | %76 | |
119 | w | %77 | |
120 | x | 90 126 %78||
121 | y | %79 | |
122 | z | %7A | |
123 | { | %7B | |
124 | | | %7C | |
125 | } | %7D | |
126 | ~ | %7E | |
127 | DEL(удалить (удалить)) | %7F |
Сноски
- URL-адрес (унифицированный указатель ресурсов)
- Что должен знать каждый разработчик о кодировании URL
- Почему существует кодировка URL для набора символов ASCII
- RFC 3986 — Унифицированный идентификатор ресурса (URI): общий синтаксис.
http — Могу ли я использовать символ at (@) внутри URL-адресов?
спросил
Изменено 10 месяцев назад
Просмотрено 92к раз
Безопасно ли использовать символ @
как часть пользователя? Например, возможный URL-адрес будет http://example.com/@dave
.
Идея в том, что в настоящее время пользователей обычно называют "@user", так почему бы не сделать страницу пользователя "@username"?
- http
- URL-адрес
- символ
Percent-encoded …
Вы можете использовать символ @
в путях HTTP URI, если вы закодируете его в процентах как %40
.
Многие браузеры будут отображать его как @
, но, например. когда вы копируете и вставляете URI в текстовый документ, это будет %40
.
… но и напрямую
Вместо процентного кодирования можно использовать @
непосредственно в пути HTTP URI.
См. синтаксис пути URI. Помимо различных несвязанных предложений, путь может состоять из символов набора segment
, segment-nz
или segment-nz-nc
. Сегмент
и сегмент -nz
состоят из символов из набора pchar
, который определяется как:
pchar = незарезервировано / pct-encoded / sub-delims / ":" / "@"
Как видите, @
указан явно.
В наборе segment-nz-nc
также явно указан символ @
:
segment-nz-nc = 1*(незарезервировано / pct-encoded / sub-delims / "@" )
Таким образом, URL-адрес HTTP, подобный этому, полностью действителен:
http://example.com/@dave
Пример
Вот пример страницы Википедии:
- ссылка
- копирование и вставка:
http://en. wikipedia.org/wiki/%22@%22_%28album%29
Как видите, символы "
, (
и )
кодируются в процентах, но @
и _
используются напрямую.
Можно ли использовать символ @ в URL-адресе? - Да, можно!
Обратите внимание, что этот @-символ, шестнадцатеричное значение 40, десятичное значение 64, является зарезервированными символами для URI. Он используется для таких вещей, как адреса электронной почты в mailto:
URI, например mailto:[email protected]
и для передачи информации об имени пользователя и пароле в URI (это плохая идея, но возможна): http://username:[email protected]
Если вам нужен URL-адрес с символом @ в пути, вам необходимо закодировать его с помощью так называемого «URL-кодирования». Например, так: http://somewhere.foo/profile/username%40somewhere.foo
Все современные браузеры отобразят это как http://somewhere. foo/profile/[email protected] и преобразуют любой набранный @-знак до %40
, поэтому его легко использовать.
Многие веб-фреймворки также помогут вам автоматически или с помощью вспомогательных функций преобразовать URL-адреса в кодировку URL и обратно.
Итак, резюмируя: да, вы можете использовать @-символ в URL-адресе, но вы должны убедиться, что он закодирован, так как вы не можете использовать @-символ .
3В RFC следующие символы:
* ' ( ) ; : @ & = + $ , / ? % # [ ]
зарезервированы и:
Зарезервированные символы предназначены для предоставления набора разделителей. символы, которые можно отличить от других данных в URI.
Поэтому не рекомендуется использовать эти символы без кодировки.
1 Я обнаружил этот вопрос, когда пытался выполнить поиск site:typescriptlang. org @ts-ignore
в Chrome, а затем получил результат Эта страница не работает, ts-ignore в настоящее время не может обработать этот запрос
, и я увидел, что URL-адрес стал «http://site:typescriptlang.org%20@ts-ignore/». Я чувствовал себя настолько отвергнутым, затем искал функцию символа @ по URL-адресу
, а затем нашел свой ответ в Википедии.
Полный формат URL-адреса: схема://userInfo@host:port/path?query#fragment
. поэтому, когда мы ищем site:typescriptlang.org @ts-ignore
, браузер подумает, что вы хотите посетить "http://site:typescriptlang.org%20@ts-ignore/". В этом URL http
— это схема, site:typescriptlang.org%20
— это userInfo («%20» экранируется пробелом), «ts-ignore/» — хост. Конечно, мы не можем зайти на хост с именем «ts-ignore» без домена.
Итак, символ @
может быть разделителем между userInfo
и host
.
В основном нет.