Как браузер формирует POST-запрос?

203
30 июня 2018, 07:00

Возникла такая ситуация. Есть страница, формируемая с помощью некоторого фреймворка (Oracle Application Express). На странице есть некоторое количество полей для ввода внутри тега form. В связи с производственной необходимостью коллеги-бэкендщики просят железобетонных доказательств того, что данные в запросе всегда будут приходить в том порядке, в каком мы предполагаем. Я так понимаю, браузер должен запихивать в POST-запрос данные из всех полей (<input name="...">) внутри тега form, и передавать пары имя-значение.
Опытным путем было обнаружено, что фреймворк каким-то образом фильтрует поля, и помещает в POST-запрос данные только из полей, у которых имя начинается с f0 (например, <input name="f0123...">). Мне не удалось нагуглить никаких объяснений, как такое возможно. Во всех статьях в интернете написано, что браузер просто отправляет все поля с формы. В связи с этим вопрос: если фреймворк каким-то образом заставляет браузер делать такую фильтрацию, это должно быть как-то понятно из кода страницы, так ведь? Вот скриншот, на котором это видно:

На странице имеется несколько полей с разными названиями:

  • то, что начинается с p_ - эти поля генерирует фреймворк;
  • то, что начинается с f0 - создаю я, в POST-запрос попали только они;
  • другие поля (из созданных мной) с именами, не начинающимися с f0, в POST-запрос не попадают.

И заодно вопрос по порядку перечисления полей: у меня есть таблица, в которой три столбца, в каждом из них идут поля для ввода со своими именами. В столбце 1 только поля с name=f02, в столбце 2 - name=f03, в столбце 3 - name=f01. Я предполагал, что в POST-запрос они попадут в том же порядке, в каком они идут в HTML-коде (то есть f02, f03, f01, f02, ...), но по факту идут сначала все f02, потом все f03, потом все f01. В общем, проясните пожалуйста этот вопрос - какая часть процесса подготовки POST-запроса какими правилами регулируется. Что определяется стандартами, что - движком браузеров, что можно по своему желанию поменять?

READ ALSO
Горизонтальный слайдер на Jquery

Горизонтальный слайдер на Jquery

Столкнулся с проблемой слайдера, как реализовать длинну слайдера, что бы он не листал пустые поля справа и слеваПроблема проявляется когда...

229
Как распарсить HTML в .NET?

Как распарсить HTML в .NET?

Необходимо извлечь все URL из атрибутов href тегов a в HTML страницеЯ попробовал воспользоваться регулярными выражениями:

395
Некорректно работает коллизия на android, хотя в редакторе unity, всё нормально

Некорректно работает коллизия на android, хотя в редакторе unity, всё нормально

Вот собственно перегруженный метод коллизии:

206
Использование ILifetimeScope как зависимости

Использование ILifetimeScope как зависимости

Считается что резолв зависимостей не в корне компановки это плохая архитектура (ServiceLocator)Но у меня возникла задача по созданию объектов в цикле...

196