При создании HTML-форм, почему мы не всегда используем enctype="multipart/form-data"
?
Почему бы не всегда использовать enctype = "multipart/form-data"?
Ответ 1
multipart/form-data
является намного более громоздким, чем application/x-www-form-urlencoded
; последний - это просто куча ключей и значений (и может быть проанализирован таким же образом, как для GET
, так и POST
), тогда как первая требует полной поддержки MIME и, следовательно, более полезна, когда у вас есть данные, которые не могут просто представляются в виде пар ключ/значение.
Ответ 2
Потому что это боль для обработки, как на сервере, так и на заказных клиентах. Простой лучше, чем сложный, если только просто не работает.
Ответ 3
С PHP не имеет значения, какой тип enctype имеет форма. Вы всегда получаете пары ключ/значение.
Итак, если сложнее кодирование - единственная причина, по которой вы не используете PHP, просто используйте enctype = "multipart/form-data".
Есть ли другая причина?
Ответ 4
Mulipart подразумевает, что мы будем использовать разные типы mime. Например, отправляя двоичный файл, у вас будет одна часть с частью x-www-form-urlencoded, а другая с октетом-потоком. В большинстве случаев вы отправляете один и тот же тип mime.