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
BCD tables only load in the browser
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.
Ver também
Accept
eAccept-Charset
Content-Disposition
206
Partial ContentX-Content-Type-Options