Соблюдает ли HTTP GET & POST порядок, когда для ключа задано несколько значений? - PullRequest
1 голос
/ 06 января 2012

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

file[]=18&file[]=20&...

До сих пор порядок сохраняется при передаче этого от клиента к серверу, однако я не смог найти никакой спецификации, поддерживает ли протокол HTTP параметры в указанном порядке. Таким образом, вопрос в том, безопасно ли зависеть от заданного порядка, или я должен реализовать обходной путь для присвоения каждому файлу идентификатора определенного порядка? Э.Г.

file_18=0&file_20=1&...

Edit: jQuery Ui имеет метод сериализации , который будет передавать параметры только в том порядке, который я описал выше:

foo_1, foo_5, foo_2 будут сериализованы в foo [] = 1 & foo [] = 5 & foo [] = 2

Это для сортируемого списка, поэтому я предполагаю, что они знают, что делают.

Ответы [ 2 ]

0 голосов
/ 06 января 2012

HTTP не определяет формат данных GET и POST.Так что они просто передаются в виде больших двоичных данных.

Ваш парсер данных формы должен поддерживать порядок (я не знаю ни одного, который не поддерживает (для полей с одинаковыми именами).

0 голосов
/ 06 января 2012

Зависит от сервера. Как правило, заказ гарантируется протоколом TCP . Если вы можете читать в этом порядке, ваш парсер HTTP сохраняет параметры в прямой последовательности - не беспокойтесь. Никто не будет изменять эти параметры в некоторых местах.

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