blob: 04fdf604f54800d38872fffd0eeedc35bb1135ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
---
title: Vary
slug: Web/HTTP/Headers/Vary
tags:
- Cabeçalho de Resposta
- HTTP
- Referencia
- Resposta
- cabeçalho
translation_of: Web/HTTP/Headers/Vary
---
<div>{{HTTPSidebar}}</div>
<p>O cabeçalho de resposta HTTP <strong><code>Vary</code></strong> determina como corresponder futuros cabeçalhos de requisição para decidir se uma resposta cacheada pode ser usada ao invés de solicitar uma nova do servidor de origem. Ele é usado pelo servidor para indicar quais cabeçalhos ele utilizou quando selecionando a representação do recurso em um algoritmo de <a href="/en-US/docs/Web/HTTP/Content_negotiation">negociação de conteúdo</a>.</p>
<p>O cabeçalho <code>Vary</code> deve ser colocado em uma resposta {{HTTPStatus("304")}} <code>Not Modified</code> exatamente como seria colocado em uma resposta {{HTTPStatus("200")}} <code>OK</code> equivalente.</p>
<table class="properties">
<tbody>
<tr>
<th scope="row">Tipo de cabeçalho</th>
<td>{{Glossary("Response header")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>não</td>
</tr>
</tbody>
</table>
<h2 id="Sintaxe">Sintaxe</h2>
<pre class="syntaxbox notranslate">Vary: *
Vary: <header-name>, <header-name>, ...
</pre>
<h2 id="Diretivas">Diretivas</h2>
<dl>
<dt>*</dt>
<dd>Cada requisição para a URL é supostamente tratada como uma requisição única e incacheavél. Um jeito melhor de indicar isso é usar {{HTTPHeader("Cache-Control")}}: <code>no-store</code>, que é mais limpo para se ler e também sinaliza que o objeto não deve ser guardado nunca.</dd>
<dt><header-name></dt>
<dd>Uma lista separada por vírgula de nomes de cabeçalhos para levar em conta quando for decidir se uma resposta cacheada pode ser usada.</dd>
</dl>
<h2 id="Exemplos">Exemplos</h2>
<h3 id="Servimento_dinâmico">Servimento dinâmico</h3>
<p>Quando utilizando o cabeçalho <code>Vary: User-Agent</code>, servidores de cacheamento devem considerar o agente de usuário quando estiverem decidindo se irão servir a página do cache. Por exemplo, se você está servindo conteúdo diferente para usuários móveis, ele pode ajudar você a evitar que um cache possa erroneamente servir uma versão desktop do seu site, para os usuários móveis. Ele pode ajudar o Google e outros motores de busca a descobrir a versão móvel da página, e talvez possa dizer a eles que não existe intenção de <a href="https://en.wikipedia.org/wiki/Cloaking">Cloaking</a>.</p>
<pre class="notranslate">Vary: User-Agent</pre>
<h2 id="Especificações">Especificações</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Especificação</th>
<th scope="col">Título</th>
</tr>
<tr>
<td>{{RFC("7231", "Vary", "7.1.4")}}</td>
<td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</td>
</tr>
</tbody>
</table>
<h2 id="Compatibilidade_de_navegador">Compatibilidade de navegador</h2>
<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
<p>{{Compat("http.headers.Vary")}}</p>
<h2 id="Notas_de_compatibilidade">Notas de compatibilidade</h2>
<ul>
<li><a href="https://blogs.msdn.microsoft.com/ieinternals/2009/06/17/vary-with-care/">Vary com cuidado – Problemas do cabeçalho Vary em IE6-9</a></li>
</ul>
<h2 id="Veja_também">Veja também</h2>
<ul>
<li><a href="https://www.smashingmagazine.com/2017/11/understanding-vary-header/">Entendendo o cabeçalho Vary (Understanding The Vary Header) - Smashing Magazine</a></li>
<li><a href="https://www.fastly.com/blog/best-practices-for-using-the-vary-header">Melhores práticas quando utilizando o cabeçalho Vary (Best Practices for Using the Vary Header) – fastly.com</a></li>
<li><a href="https://developer.mozilla.org/docs/Web/HTTP/Content_negotiation">Negociação de conteúdo</a></li>
</ul>
|