Граница - это произвольный фрагмент текста, который клиент использует для разделения полей публикуемой формы. Клиент объявляет границу, которую он использует, как часть заголовка Content-type
.
Выбрана граница, которая не встречается ни в одном из данных. (Это
отбор иногда делается вероятностно.) Каждое поле формы
отправляется в порядке, в котором это происходит в форме, как часть
многочастный поток. Каждая часть идентифицирует имя INPUT в пределах
оригинальная форма HTML. Каждая часть должна быть помечена соответствующим
content-type, если тип носителя известен (например, выведен из файла
информация о расширении или операционной системе) или как
приложения / октет-поток.
...
6. Примеры
Предположим, сервер предоставляет следующий HTML-код:
<FORM ACTION="http://server.dom/cgi/handle"
ENCTYPE="multipart/form-data"
METHOD=POST>
What is your name? <INPUT TYPE=TEXT NAME=submitter>
What files are you sending? <INPUT TYPE=FILE NAME=pics>
</FORM>
и пользователь вводит «Джо Блоу» в поле имени и выбирает текст
файл "file1.txt" для ответа на вопрос "Какие файлы вы отправляете?"
Клиент может отправить обратно следующие данные:
Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--
Если пользователь также указал файл изображения "file2.gif" для ответа
на «Какие файлы вы отправляете?», клиент может отправить клиент
обратно следующие данные:
Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"
Content-type: multipart/mixed, boundary=BbC04y
--BbC04y
Content-disposition: attachment; filename="file1.txt"