Ты не. GET-запросы и данные POST поступают в виде name=value
. Единственное исключение - если вы измените кодировку отправки формы на enctype="multipart/form-data"
, потому что у вас есть элемент управления загрузкой файлов.
Спецификация HTML определяет два возможных значения для enctype
:
enctype="application/x-www-form-urlencoded"
(по умолчанию)
Это подразумевает простую кодировку, которая представляет поля в виде name=value
строк, разделенных амперсандами (&
), и использует некоторые специальные механизмы «escape» для символов, такие как %28
для символа «(». Это сбивает с толку, если люди пытаются чтобы прочитать его - он должен был обрабатываться программами, а не напрямую читаться людьми!
enctype="multipart/form-data"
Это подразумевает, что набор данных формы закодирован так, что каждое поле формы (точнее, каждый «элемент управления») представляется в формате, подходящем для этого поля, и набор данных в целом представляет собой составное сообщение, содержащее эти представления в качестве его компонентов. , Это бесполезно для «нормальных» форм, но подходит, даже для единственно возможного способа, для форм, содержащих поля файла. Многокомпонентная структура означает, что каждый файл входит в красивый «пакет» внутри большего пакета с подходящей «меткой» (информацией о типе содержимого) на внутреннем «пакете». Этот тип был первоначально определен в RFC 1867, но он также обсуждается в RFC 2388 (см. примечания к RFC позже).