--- title: Content-Disposition slug: Web/HTTP/Headers/Content-Disposition tags: - Cabeçalho Geral - Cabeçalho de Resposta - HTTP - Reference - Referencia - cabeçalho translation_of: Web/HTTP/Headers/Content-Disposition ---
Content-Disposition
indica se o conteúdo é esperado a ser exibido inline no navegador, isso significad, como uma página Web ou parte de uma, ou como um anexo, que é baixado e salvo localmente.Em um corpo multipart/form-data
, o cabeçalho geral HTTP Content-Disposition
é um cabeçalho que pode ser utilizado em uma subparte de um corpo multipartes para dar informações sobre o campo a que ele se aplica. A subparte é delimitada pelo limite definido no cabeçalho {{HTTPHeader("Content-Type")}}. Usado no corpo em si, Content-Disposition
não tem efeito.
O cabeçalho Content-Disposition
é definido em um grande contexto de mensagens MIME para e-mail, mas somente um subconjunto dos possíveis parâmetros são aplicados à formulários HTTP e requisições {{HTTPMethod("POST")}} requests. Somente o valor form-data
, assim como a diretiva opcional name
e filename
, podem ser usadas no contexto HTTP.
Tipo de cabeçalho | {{Glossary("Response header")}} (para o corpo principal) {{Glossary("General header")}} (para a subparte de um corpo multipartes) |
---|---|
{{Glossary("Forbidden header name")}} | não |
O primeiro parâmetro no contexto HTTP ou é inline
(valor padrão, indicando que ele pode ser mostrado dentro de uma página Web, ou como uma página Web) ou attachment
(indicando que ele devev ser baixado; a maioria dos navegadores apresenta uma caixa de diálogo "Salvar como", pré-preenchido com o valor do parâmetro filename
se presente).
Content-Disposition: inline Content-Disposition: attachment Content-Disposition: attachment; filename="filename.jpg"
O primeiro parâmetro no contexto HTTP é sempre o form-data
. Parâmetros adicionais são case-insensitive e possuem argumentos que usam a sintaxe de cadeia de caracteres delimitadas por aspas depois do sinal '='
. Múltiplos parâmetros são separados por um ponto e vírgula (';'
).
Content-Disposition: form-data Content-Disposition: form-data; name="fieldName" Content-Disposition: form-data; name="fieldName"; filename="filename.jpg"
name
{HTMLElement("input","<input type=\"file\">")}}
), podem haver diversas subpartes com o mesmo nome.name
com o valor de '_charset_'
indica que a parte não é um campo HTML, mas uma codificação para usar em partes sem explicitar a informação de codificação.filename
Content-Disposition: attachment
, ele é usado como nome de arquivo padrão para uma eventual caixa de diálogo "Salvar como" apresentado ao usuário.filename*
Os parâmetros "filename" e "filename*" se diferenciam somente no fato de que "filename*" usa a codificação definida na RFC 5987. Quando ambos "filename" e "filename*" estão presentes em um único campo de valor do cabeçalho, "filename*" é preferido sobre "filename" quando ambos são entendidos.
Uma resposta ativando a caixa de diálogo "Salvar como":
200 OK Content-Type: text/html; charset=utf-8 Content-Disposition: attachment; filename="cool.html" Content-Length: 21 <HTML>Me salve!</HTML>
O simples arquivo HTML será salvo como um download regular ao invés de ser mostrado no navegador. A maioria dos navegadores irá propôr salvar o arquivo como nome de cool.html
(por padrão).
Um exemplo de um formulário de HTML postado usando o formato multipart/form-data
que faz o uso do cabeçalho Content-Disposition
:
POST /test.html HTTP/1.1 Host: example.org Content-Type: multipart/form-data;boundary="boundary" --boundary Content-Disposition: form-data; name="field1" value1 --boundary Content-Disposition: form-data; name="field2"; filename="example.txt" value2 --boundary--
Especificação | Título |
---|---|
{{RFC("7578")}} | Returning Values from Forms: multipart/form-data |
{{RFC("6266")}} | Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP) |
{{RFC("2183")}} | Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field |
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.
{{Compat("http.headers.Content-Disposition")}}
Content-Disposition
mais efetivamente se ambos parâmetros filename
e filename*
são providos; ele olha através de todos os nomes providenciados, usando o parâmetro filename*
se um estiver disponível, mesmo se o parâmetro filename
estiver incluído primeiro. Anteriormente, o primeiro parâmetro que combinasse seria utilizado, Previously, the first matching parameter would be used, desse modo prevenindo um nome mais apropriado de ser utilizado. Veja {{bug(588781)}}.