Ответ 1
Все подробности можно найти в текущем RFC по теме: RFC 3986 (универсальный идентификатор ресурса (URI): общий синтаксис)
На основании этого соответствующий ответ, вы смотрите на список, который выглядит как: AZ
, az
, 0-9
, -
, .
, _
, ~
, :
, /
?
, #
, [
, ]
, @
!
, $
, &
, '
, (
, )
, *
, +
, ,
, ;
, %
и =
. Все остальное должно быть в кодировке URL. Кроме того, некоторые из этих символов могут существовать только в очень определенных точках в URI, и за пределами этих точек должна быть закодирована URL (например, %
может использоваться только в сочетании с кодировкой URL, как в %20
), в RFC есть все эти специфика.