Я узнал, что HTML-форма поддерживает только два типа enctype. Они application/x-www-form-urlencoded
и multipart/form-data
. Я понимаю, что использую multipart/form-data
когда я должен загрузить файл. Когда делают я использую application/x-www-form-urlencoded
? Это - enctype формы значения по умолчанию?
Да, это так. Вот цитата из спецификации W3 HTML forms specification:
Значение по умолчанию для этого атрибута -
"application/x-www-form-urlencoded"
. Значение"multipart/form-data"
должно использоваться в сочетании сINPUT
элементом,type="file"
.
Веб-браузер позаботится о кодировке URL автоматически.
application/x-www-form-urlencoded
Это тип содержимого по умолчанию. Формы, представленные с этим типом содержимого, должны быть закодированы следующим образом:
1) Имена и значения элементов управления экранируются. Пробельные символы заменяются на '+', а затем резервные символы экранируются, как описано в [RFC1738], раздел 2.2: Неалфавитно-цифровые символы заменяются на '%HH', знак процента и две шестнадцатеричные цифры, представляющие ASCII-код символа. Разрывы строк представлены в виде пар "CR LF" (т.е. `%0D%0A').
2) Имена/значения элементов управления перечисляются в порядке их появления в документе. Имя отделяется от значения знаком '=', а пары имя/значение отделяются друг от друга знаком `&'.
Посмотрите эту ссылку, чтобы узнать больше о типах содержимого формы, или здесь, чтобы узнать больше о загрузке файлов и т.п.
Да, по умолчанию enctype
- application/x-www-form-urlencoded.