Разделители Строк Запроса

Таким образом, я знаю, что вы можете разделить свои параметры в строке запроса через пару различных символов

(напр. www.example.com?foo=1&bar=2 или www.example.com?foo1; bar=2)

Существуют ли какие-либо символы, кроме»; «и»&», которые можно использовать для разделения параметров запроса? Это просто общая практика кодирования, чтобы использовать»; » или » & » или есть некоторые правила, которые перечисляют, какие символы я могу использовать? Я знаю, что в RFC 3986 зарезервированные символы включают

«;» | «/» | «?» | «:» | «@» | «&» | «=» | «+» | «$» | «,»

Означает ли это, что любой из этих символов может использоваться для разделения параметров запроса?

1 ответ

  1. Формат содержимого строки запроса не является частью RFC 3986 (URI) или RFC 723* (HTTP); это побочный эффект работы HTML-форм.

    Таким образом, если ваш код должен работать с HTML-формами, вы ограничены тем, что делают браузеры. В противном случае, теоретически, вы можете использовать любой формат, если он соответствует определению RFC 3986 компонента «query».