14

For HTML forms. I am confused, I'm trying to set enctype='application/octet-stream' but the server receives the request with content-type ='application/x-www-form-urlencoded' (the default value).

Mina F. Beshay
  • 352
  • 2
  • 17

1 Answers1

13

The enctype attribute specifies the content type (in HTTP terms, as indicated in Content-Type header) used by the browser when it submits the form data to server.

However, the spec defines only two content types in this context, application/x-www-form-urlencoded (the default) and multipart/form-data, and adds: “Behavior for other content types is unspecified.” What happens in practice is that browsers silently ignore enctype attributes with other values, using the default. You can see this if you e.g. inspect the document in Firebug: inspecting the form element, the DOM pane contains the property enctype—with the default value. It is common in web browsers to be silent about errors in markup.

The type application/octet-stream would not be very useful in this context, since if the browser sent such information, it would be effectively saying “this is lump of binary data of unknown (or unspecified) structure”.

Jukka K. Korpela
  • 195,524
  • 37
  • 270
  • 390