Может ли HTTP URI иметь символы, отличные от ASCII?

Я попытался найти это в соответствующем RFC, IETF RFC 3986, но не мог этого понять.

У URI для HTTP разрешают Unicode или не-ASCII любого типа?

Не могли бы вы привести раздел и RFC, которые поддерживают ваш ответ.

NB: Для тех, кто может подумать, что это не связано с программированием - это так. Это связано с фильтром ISAPI, который я создаю.


Добавление

Я читал раздел 2.5 RFC 3986. Но RFC 2616, который, я считаю, является текущим протоколом HTTP, предшествует 3986, и по этой причине я бы предположил, что он не может быть совместим с 3986. Более того, даже если или когда обновляется HTTP RFC, все еще будет проблема рационализации - другими словами, поддерживает ли URI HTTP ВСЕ из предложений RFC3986, включая все, что подходит для включения символов US-ASCII?

+17
источник поделиться
6 ответов

Нет, они не разрешены. Просто проверьте ABNF в RFC 3986.

+4
источник

http://en.wikipedia.org/wiki/Internationalized_domain_name

+6
источник

Вот пример: ☃.net.

Что касается соответствующего раздела RFC 3986, я думаю, вы смотрите на 2.5.

EDIT:

Очевидно, что переполнение стека не определяет это как правильный URL. Вам придется скопировать и вставить в свой браузер.

+4
источник

Используется для того, чтобы неанглийские символы не разрешались в DNS и URL/URI. Существовал взломать их, используя% кодирования в URI. Однако многие страны, такие как Россия и Китай, начинают внедрять DNS, используя не латинские символы. Вот ссылка на один из этих стандартов

0
источник

RFC 3986 заменяется RFC 3987, который полностью поддерживает Unicode и предоставляет правила сопоставления в/из URI RFC 3986.

0
источник

Многие браузеры не поддерживают URI с символами Unicode (я реализовал их на веб-сайте, который я создал - blogvani.com), и Google своевременно сканирует и сохраняет их в целости. Я не думаю, что это работает на доменах верхнего уровня, хотя, по крайней мере, не с регистратором, а не напрямую.

Для доменов верхнего уровня, если у вас есть домен, зарегистрированный в Unicode (например, люди могут регистрировать домены на хинди), он будет преобразован в соответствующий код в ASCII (что-то, что может походить на jdhfks3243-32434.com)...

Забавно видеть, как это перенаправляется и понимать, что вы фактически не собираетесь в домен юникода, даже если это похоже на это.

-1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос