blob: 0de2382a81b1c5305a050fb24d30f72cfd6684f5 (
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
|
---
title: Vary
slug: Web/HTTP/Headers/Vary
translation_of: Web/HTTP/Headers/Vary
---
<div>{{HTTPSidebar}}</div>
<p>El encabezado de respuesta <strong><code>Vary</code></strong> HTTP determina como hacer coincidir los encabezados de las solicitudes futuras para decidir si se puede utilizar una respuesta almacenada en caché en lugar de solicitar una nueva desde el servidor de origen. Esto es usado por el servidor para indicar cuales encabezados usa cuando selecciona una representación de recursos en un algoritmo <a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation</a> .</p>
<p>El encabezado <code>Vary</code> se debe establecer en una respuesta {{HTTPStatus("304")}} <code>Not Modified</code> exactamente igual que habría sido fijado en una respuesta equivalente {{HTTPStatus("200")}} <code>OK</code>.</p>
<table class="properties">
<tbody>
<tr>
<th scope="row">Header type</th>
<td>{{Glossary("Response header")}}</td>
</tr>
<tr>
<th scope="row">{{Glossary("Forbidden header name")}}</th>
<td>no</td>
</tr>
</tbody>
</table>
<h2 id="Sintaxis">Sintaxis</h2>
<pre class="syntaxbox">Vary: *
Vary: <header-name>, <header-name>, ...
</pre>
<h2 id="Directivas">Directivas</h2>
<dl>
<dt>*</dt>
<dd>Cada solicitud para una URL debe ser tratada como unica e inaccesible . Una de las mejores formas de indicar esto es {{HTTPHeader("Cache-Control")}}<code>: private</code>, la cual hace mas claro leer y señalar que el objeto no debe ser almacenado nunca.</dd>
<dt><header-name></dt>
<dd>Una lista de nombres de encabezados separados por coma para tener en cuenta al decidir si se puede utilizar o no una respuesta cache.</dd>
</dl>
<h2 id="Ejemplos">Ejemplos</h2>
<h3 id="Servicio_Dinámico">Servicio Dinámico</h3>
<p>Cuando usamos el encabezado <code>Vary: User-Agent</code> , los servidores de almacenamiento en cache deben considerar al agente de usuario al decidir si desea publicar la pagína desde la memoria cache. Por ejemplo, si estas sirviendo contenido diferente a usuarios moviles, puede ayudarle a evitar que la memoria cache puede servir erróneamente una version de escritorio de su sitio a usuarios móviles. Esto puede ayudar a Googley otros motoress de busqueda para descubrir la version de una pagina web, y ademas permitir que intenten <a href="https://en.wikipedia.org/wiki/Cloaking">Cloaking</a>.</p>
<pre>Vary: User-Agent</pre>
<h2 id="Especificaciones">Especificaciones</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Title</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="Compatibilidad_del_navegador">Compatibilidad del 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_Compatibilidad">Notas de Compatibilidad</h2>
<ul>
<li><a href="https://blogs.msdn.microsoft.com/ieinternals/2009/06/17/vary-with-care/">Vary with care – Vary header problems in IE6-9</a></li>
</ul>
<h2 id="Vea_tambien">Vea tambien</h2>
<ul>
<li>{{HTTPHeader("Cache-Control")}}</li>
<li>{{HTTPHeader("User-Agent")}}</li>
<li><a href="https://www.fastly.com/blog/best-practices-for-using-the-vary-header">Mejores practicas para usar el encabezado Vary – fastly.com</a></li>
</ul>
|