Используется для указания типа контента, используемого для запроса. В html-формах используются два типа контента: application/x-www-form-urlencoded
, который используется по умолчанию, и multipart/form-data
, который используется, если форма содержит входные данные для загрузки файлов. В браузере указывается, как отправить запрос на сервер. Например:
<form id="injectFormUpload" action="" method="post">
<input type="text" name="foo" value="bar" />
<input type="text" name="foo2" value="baz" />
<input type="submit" value="OK" />
</form>
при отправке отправит на сервер следующий запрос POST:
POST / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 16
Connection: keep-alive
foo=bar&foo2=baz
тогда как следующая форма, которая содержит поле загрузки файла:
<form id="injectFormUpload" action="" method="post" enctype="multipart/form-data">
<input type="text" name="foo" value="bar" />
<input type="file" name="myfile" />
<input type="submit" value="OK" />
</form>
может генерировать следующий запрос:
POST / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
Content-Type: multipart/form-data; boundary=---------------------------265001916915724
Content-Length: 326
Connection: keep-alive
-----------------------------265001916915724
Content-Disposition: form-data; name="foo"
bar
-----------------------------265001916915724
Content-Disposition: form-data; name="myfile"; filename="test.txt"
Content-Type: text/plain
contents of the text file
-----------------------------265001916915724--