Незарезервированные, но безопасные символы для разделителей в URL - PullRequest
3 голосов
/ 29 ноября 2011

Я видел следующее в StackOverflow о символах URL:

Существует два набора символов, которые необходимо отслеживать - зарезервированные и небезопасные.Зарезервированные символы:

  • амперсанд ("&")
  • доллар ("$")
  • знак плюс ("+")
  • запятая (",")
  • косая черта ("/")
  • двоеточие (":")
  • точка с запятой (";")
  • равно ("=")
  • знак вопроса ("?")
  • Символ 'At' ("@").

Обычно считается небезопасными символами:

  • пробел,
  • знак вопроса ("? ")
  • меньше и больше (" <> ")
  • открывать и закрывать скобки (" [] ")
  • открывать и закрывать скобки("{}")
  • труба ("|")
  • обратная косая черта ("\")
  • каретка ("^")
  • тильда ("~")
  • процентов ("%")
  • фунт ("#").

Я пытаюсь закодировать URL, чтобы я мог разобрать его с помощью разделителей.Они не могут быть цифрами или буквами.У кого-нибудь есть список символов, которые НЕ зарезервированы, но безопасны для использования?

Спасибо за любую помощь, которую вы можете предоставить.

1 Ответ

4 голосов
/ 29 ноября 2011

Не пытайтесь использовать безопасные / незарезервированные символы.Просто используйте любые разделители, которые вы хотите, и URL-код целиком.Затем URL декодирует его на другом конце и анализирует нормально.

Есть ли причина, по которой вы не можете просто использовать стандартный разделитель для параметров URL (&)?Это самый простой способ сделать это, вместо того, чтобы пытаться свернуть свой собственный.

Например, стандартный синтаксис URL уже изначально допускает многозначные параметры.Это совершенно законно и не требует какой-либо хитрости.

Somepage.aspx?parameterName=A&parameterName=B

В результате страница будет передана "A, B" в атрибуте parameterName.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...