O cabeçalho Content-Type é utilizado para indicar o tipo de arquivo do recurso.
Em respostas, o
Content-Type
diz para o client qual é o tipo de conteúdo que a resposta, de fato, tem. Alguns browsers vão realizar o chamado "MIME Sniffing" em alguns casos e não vão, necessariamente, seguir o valor declarado por este cabeçalho. Para previnir este comportamento é possível definir o cabeçalho X-Content-Type-Options
para o valor nosniff
.Em requisições, como
POST
ou PUT
, o client diz ao servidor qual o tipo de dado que está, de fato, sendo enviado.tipo de cabeçalho | Cabeçalho de entidade |
---|---|
Nome de cabeçalho proibido | não |
Cabeçalho de resposta na lista segura do CORS | sim |
Sintaxe
Content-Type: text/html; charset=utf-8 Content-Type: multipart/form-data; boundary=something
Diretivas
media-type
- O MIME type do recurso ou dado.
- charset
- O encoding da string
- boundary
- Para entidades do tipo multipart, a diretiva
boundary
é obrigatória. Ela consiste em uma sequencia de 1 a 70 caracteres de um conjunto conhecido por sua robustez em gateways de e-mail, e não podem terminar com espaço em branco. É utilizado para encapsular as bordas das multiplas partes da mensagem.
Exemplos
Content-Type
em formulários HTML
Em uma requisição POST
, resultado de uma submissão de um formulário HTML, o Content-Type
da requisição é especificado pelo atributo enctype
do elemento <form>
do HTML.
<form action="/" method="post" enctype="multipart/form-data"> <input type="text" name="description" value="some text"> <input type="file" name="myFile"> <button type="submit">Submit</button> </form>
A requisição vai parecer com isto (alguns headers não importantes foram omitidos):
POST /foo HTTP/1.1 Content-Length: 68137 Content-Type: multipart/form-data; boundary=---------------------------974767299852498929531610575 ---------------------------974767299852498929531610575 Content-Disposition: form-data; name="description" some text ---------------------------974767299852498929531610575 Content-Disposition: form-data; name="myFile"; filename="foo.txt" Content-Type: text/plain (content of the uploaded file foo.txt) ---------------------------974767299852498929531610575
Especificações
Especificação | Título |
---|---|
RFC 7233, sessão 4.1: Content-Type in multipart | Hypertext Transfer Protocol (HTTP/1.1): Range Requests |
RFC 7231, sessão 3.1.1.5: Content-Type | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Compatibilidade de browsers
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Content-Type | Chrome Full support Yes | Edge Full support Yes | Firefox Full support Yes | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
Ver também
Accept
eAccept-Charset
Content-Disposition
206
Partial ContentX-Content-Type-Options