В чем разница между form-data, x-www-form-urlencoded и raw в приложении Postman Chrome?



Я использую расширение Postman Chrome для тестирования веб-службы. Существует три варианта ввода данных. Я думаю, raw - это для отправки JSON. В чем разница между двумя другими, form-data и x-www-form-urlencoded?

5510   3  

3 ответов:

Это разные типы контента формы, определенные W3C. Если вы хотите отправить простой текст / ASCII данные, то x-www-form-urlencoded будет работать. Это значение по умолчанию.

но если вам нужно отправить не ASCII текст или большие двоичные данные, то форма-Сведения есть за что.

можно использовать Raw Если вы хотите отправить обычный текст или JSON или любой другой вид строки. Как следует из названия, почтальон отправляет ваши необработанные строковые данные, как это есть без варианта исполнения. Тип отправляемых данных можно задать с помощью заголовка content-type из раскрывающегося списка.

Binary может использоваться, когда вы хотите прикрепить нетекстовые данные к запросу, например, видео/аудио файл, изображения или любой другой двоичный файл данных.

см. эту ссылку для дальнейшего чтения: формы в HTML документах

Это объясняет лучше: Postman docs

запрос тела

при построении запросов, вы будете иметь дело с редактором тела запроса много. Почтальон позволяет отправлять практически любой HTTP-запрос (если вы не можете отправить что-то, дайте нам знать!). Редактор тела разделен на 4 области и имеет различные элементы управления в зависимости от типа тела.

форма-Сведения

multipart / form-данные по умолчанию кодирование веб-формы используется для передачи данных. это имитирует заполнение формы на веб-сайте и ее отправку. Редактор форм-данных позволяет задать пары ключ / значение (с помощью редактора ключ-значение) для ваших данных. Вы можете прикреплять файлы к ключу. Обратите внимание, что из-за ограничений спецификации HTML5 файлы не хранятся в истории или коллекциях. Вам нужно будет снова выбрать файл во время отправки запроса.

urlencoded

эта кодировка является то же самое, что используется в параметрах URL. Вам просто нужно ввести пары ключ / значение, и почтальон будет правильно кодировать ключи и значения. Обратите внимание, что вы не можете загружать файлы через этот режим кодирования. Там может быть некоторая путаница между form-data и urlencoded поэтому не забудьте проверить с вашим API в первую очередь.

raw

необработанный запрос может содержать что угодно. Postman не трогает строку, введенную в Редакторе raw, за исключением замены переменных среды. Что бы вы ни делали поместите в текстовую область отправляется с запросом. Редактор raw позволяет задать тип форматирования вместе с правильным заголовком, который следует отправить вместе с телом raw. Вы также можете установить заголовок типа содержимого вручную. Обычно вы отправляете данные XML или JSON здесь.

binary

двоичные данные позволяют отправлять вещи, которые вы не можете ввести в почтальон. Например, изображения, аудио или видео файлы. Вы также можете отправлять текстовые файлы. Как упоминалось ранее в в разделе "Форма-данные" вам нужно будет повторно прикрепить файл, если вы загружаете запрос через историю или коллекцию.

обновление

Как указал ВКК на WHATWG spec say urlencoded-это тип кодировки по умолчанию для форм.

недопустимым значением по умолчанию для этих атрибутов является состояние application/x-www-form-urlencoded. Недостающее значение по умолчанию для атрибута enctype также есть состояние application / x-www-form-urlencoded.

multipart / form-data

Примечание. Пожалуйста, обратитесь к [RFC2388] за дополнительной информацией о загрузке файлов, включая проблемы обратной совместимости, связь между "multipart/form-data" и другими типами контента, проблемы с производительностью и т. д.

пожалуйста, обратитесь к приложению для получения информации о проблемах безопасности для форм.

тип контента "application / x-www-form-urlencoded" неэффективен для отправки большого количества двоичные данные или текст, содержащий символы, отличные от ASCII. Тип контента "multipart / form-data" должен использоваться для отправки форм, содержащих файлы, данные, отличные от ASCII, и двоичные данные.

содержимое "multipart / form-data" следует правилам всех составных потоков данных MIME, как описано в [RFC2045]. Определение "составные / форм-данные" доступно в реестре [IANA].

сообщение "multipart/form-data" содержит ряд частей, каждая из которых представляет собой успешную управление. Детали отправляются агенту обработки в том же порядке, в котором соответствующие элементы управления отображаются в потоке документов. Границы деталей не должны встречаться ни в одном из данных; то, как это делается, выходит за рамки данной спецификации.

как и во всех составных типах MIME, каждая часть имеет необязательный заголовок "Content-Type", который по умолчанию равен "text/plain". Агенты пользователей должны предоставить заголовок "Content-Type", сопровождаемый " charset" параметр.

application / x-www-form-urlencoded

это тип контента по умолчанию. Формы, представленные с этим типом контента, должны быть закодированы следующим образом:

имена и значения элементов управления экранируются. Пробелы заменяются на +', and then reserved characters are escaped as described in [RFC1738], section 2.2: Non-alphanumeric characters are replaced by%HH', знак процента и две шестнадцатеричные цифры, представляющие код ASCII символа. Разрывы строк представлены в виде пар "CR LF" (т. е. %0D%0A'). The control names/values are listed in the order they appear in the document. The name is separated from the value by=' и пары имя/значение отделяются друг от друг другое по'&'.

application/x-www-form-urlencoded тело HTTP-сообщения, отправленного на сервер, по существу является одной гигантской строкой запроса - пары имя / значение разделены амперсандом ( & ), а имена отделены от значений символом равенства (=). Примером этого может быть:

MyVariableOne=ValueOne&MyVariableTwo=ValueTwo

The тип контента "application/x-www-form-urlencoded" неэффективно для отправки большого количества двоичных данных или текста, содержащего символы, отличные от ASCII. Тип содержимого "multipart / form-data" следует использовать для отправки форм, содержащих файлы, данные, отличные от ASCII, и двоичные данные.

Comments

    Ничего не найдено.