recursal/MDN huggingface dataset:
Referer
=======

La cabecera de solicitud **`Referer`** ("referente") contiene la dirección de la página web anterior de la que provenía el enlace a la página actual que se siguió. La cabecera `Referer` permite a los servidores identificar de dónde los visitan las personas y pueden emplear estos datos para realizar análisis, registros o un almacenamiento en antememoria optimizado, por mencionar algunos ejemplos.

Observe que *referer* es una grafía errónea de la palabra *referrer*. Consulte *HTTP referer* en Wikipedia para obtener más información.

**Advertencia:** La cabecera `Referer` tiene el potencial de revelar información sobre el histórico de navegación del usuario, lo cual constituye un problema de privacidad.

Los navegadores no envían ninguna cabecera `Referer` si:

* el recurso referente es un URI local «file» o «data»;
* se emplea una solicitud HTTP no segura y la página referente fue recibida a través de un protocolo seguro (HTTPS).

| Tipo de cabecera | Request header (en-US) |
| --- | --- |
| Forbidden header name | sí |

Sintaxis
--------
```

Referer: <url>
```

Directivas
----------

<url>

Una dirección absoluta o parcial de la página web anterior, la cual contenía un enlace hacia la página solicitada actual que se siguió. No se incluyen los fragmentos de URL (esto es, «#sección») ni los datos de usuario (o sea, «nombredeusuario:contraseña» en URI como `https://nombredeusuario:contraseña\@ejemplo.com/equis/ye/`).

Ejemplos
--------
```

Referer: https://developer.mozilla.org/es/docs/Web/JavaScript
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP Semantics # field.referer |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* Referer HTTP en Wikipedia
* `Referrer-Policy`
Vary
====

El encabezado de respuesta **`Vary`** 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 content negotiation (en-US) .

El encabezado `Vary` se debe establecer en una respuesta `304` `Not Modified` exactamente igual que habría sido fijado en una respuesta equivalente `200` `OK`.

| Header type | Response header |
| --- | --- |
| Forbidden header name | no |

Sintaxis
--------
```

Vary: *
Vary: <header-name>, <header-name>, ...
```

Directivas
----------

\*

Cada solicitud para una URL debe ser tratada como unica e inaccesible . Una de las mejores formas de indicar esto es `Cache-Control``: private`, la cual hace mas claro leer y señalar que el objeto no debe ser almacenado nunca.

<header-name>

Una lista de nombres de encabezados separados por coma para tener en cuenta al decidir si se puede utilizar o no una respuesta cache.

Ejemplos
--------

### Servicio Dinámico

Cuando usamos el encabezado `Vary: User-Agent` , los servidores de almacenamiento en cache deben considerar al agente de usuario al decidir si desea publicar la págína desde la memoria cache. Por ejemplo, si está sirviendo contenido diferente a usuarios móviles, puede ayudarle a evitar que la memoria cache pueda servir erróneamente una versión de escritorio de su sitio a usuarios móviles. Esto puede ayudar a Google y otros motores de búsqueda para descubrir la versión de una página web, y además permitir que intenten Cloaking.
```

Vary: User-Agent
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP Semantics # field.vary |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Notas de Compatibilidad
-----------------------

* Vary with care – Vary header problems in IE6-9
Vea tambien
-----------

* `Cache-Control`
* `User-Agent`
* Mejores practicas para usar el encabezado Vary – fastly.com
Expires
=======

El encabezado **`Expires`** contiene la fecha y hora en la que se considerará la respuesta caducada.

Fechas inválidas, como el valor 0, representan una fecha en el pasado, esto significa que el recurso ya ha expirado.

Si existe un encabezado `Cache-Control` con la directiva "max-age" o "s-max-age" en la respuesta, el encabezado `Expires` será ignorado.

| Encabezado | Response header |
| --- | --- |
| Nombre de encabezado Prohibido | no |
| CORS-safelisted response-header (en-US) | si |

Sintaxis
--------
```

Expires: <http-date>
```

Directivas
----------

<http-date>

Una estampa de tiempo HTTP.

Ejemplo
-------
```

Expires: Jue, 21 Oct 2017 07:28:00 GMT
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP Caching # field.expires |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `Cache-Control`
* `Age`
Accept-Ranges
=============

El encabezado de respuesta HTTP **`Accept-Ranges`** es un marcador usado por el servidor para notificar que soporta solicitudes parciales. El valor de este campo indica la unidad que puede ser usada para definir el rango.

En caso de estar presente un encabezado de respuesta `Accept-Ranges`, el navegador puede intentar restablecer una descarga interrumpida, en vez de reiniciarla o comenzarla desde el principio.

| Header type | Response header |
| --- | --- |
| Forbidden header name | no |

Sintaxis
--------
```

Accept-Ranges: bytes
Accept-Ranges: none
```

Directivas
----------

`none`

No indicar la unidad de medida del rango no está soportado, esto hace que el encabezado sea tomado como ausente, y por lo tanto es usado raramente, aunque algunos exploradores , como IE9, esto es usado para inhabilitar o remover el botón de pausa en el administrador de descargas.

`bytes`

La unidad de medida del rango es bytes.

Ejemplos
--------
```

Accept-Ranges: bytes
```

Especificaciones
----------------

| Specification | Title |
| --- | --- |
| RFC 7233, sección 2.3: Accept-Ranges | Hypertext Transfer Protocol (HTTP/1.1): Range Requests |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Vea también
-----------

* `If-Range` (en-US)
* `Range`
Range
=====

La cabecera de petición HTTP, **`Range`**, indica qué parte de un documento debe devolver el servidor. Varias partes pueden ser solicitadas con una sola cabecera `Range` a la vez, y el servidor puede enviar estas partes en un documento multipartes. Si el servidor devuelve rangos, utiliza `206 Contenido Parcial`. Si los rangos son inválidos, el servidor devuelve el error `416 No se puede satisfacer Range` (en-US). El servidor también puede ignorar el encabezado de Rango y devolver el documento completo con un código de estado `200`.

|  |  |
| --- | --- |
| Tipo de cabecera | Encabezado de petición (en-US) |
| Nombre de header prohibido | no |

Sintáxis
--------


```http
Range: <unit>=<range-start>-
Range: <unit>=<range-start>-<range-end>
Range: <unit>=<range-start>-<range-end>, <range-start>-<range-end>
Range: <unit>=<range-start>-<range-end>, <range-start>-<range-end>, <range-start>-<range-end>
Range: <unit>=-<suffix-length>
```

Directivas
----------

<unit>

La unidad en la cual los rangos son especificados. Usualmente son `bytes`.

<range-start>

Un número entero correspondiente a las unidades especificadas, indicando el principio del rango requerido.

<range-end>

Un número entero correspondiente a las unidades especificadas, indicando el final del range requerido. Este valor es opcional, si es omitido el final del documento es considerando como el final del rango.

<suffix-length>

Un número entero correspondiente a las unidades especificadas indicando el número de unidades al final del archivo devuelto.

Ejemplos
--------

Solicitando tres rangos de un archivo.


```http
Range: bytes=200-1000, 2000-6576, 19000-
```


El valor, `19000-`, del tercer rango especificado, indica que `19000` es la primera posición y omite la última posición `-`, para recuperar todos los bytes desde 19000 hasta el final del archivo.

Solicitar los primeros y últimos 500 bytes de un archivo. La petición puede ser rechazada por el servidor si los rangos se superponen.


```http
Range: bytes=0-499, -500
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP Semantics # field.range |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* `If-Range` (en-US)
* `Content-Range` (en-US)
* `Content-Type`
* `206 Partial Content`
* `416 Range Not Satisfiable` (en-US)
Server
======

La cabecera **`Server`** contiene la información acerca del software usado por el servidor original encargado de la solicitud.

La información larga y detallada debe de ser evitada en las cabeceras Server ya que puede revelar detalles de implementación que pueden hacer (un poco) más fácil para los atacantes encontrar y explotar huecos de seguridad.

| Header type | Response header |
| --- | --- |
| Forbidden header name | no |

Sintaxis
--------
```

Server: <producto>
```

Directivas
----------

<producto>

El nombre del software o (sub) producto que se encargó de las solicitudes.

Ejemplos
--------
```

Server: Apache/2.4.1 (Unix)
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP Semantics # field.server |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* `Allow`
Content-Length
==============

El encabezado de entidad **`Content-Length`** indica el tamaño de la entidad-cuerpo, en bytes, enviado al destinatario.

| Tipo de cabecera | Entity header (en-US) |
| --- | --- |
| Nombre de cabecera prohibido | si |

Sintaxis
--------
```

Content-Length: <longitud>
```

Directivas
----------

<length>

La longitud en número decimal de octetos.

Especificaciones
----------------

| Specification |
| --- |
| HTTP Semantics # field.content-length |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* `Transfer-Encoding`
WWW-Authenticate
================

La cabezera de la respuesta HTTP **`WWW-Authenticate`** define el método de autentificación que debe ser utilizado para acceder al recurso solicitado.

La cabezera `WWW-Authenticate` es enviada junto al estado `401` `Unauthorized` en la respuesta.

| Header type | Response header |
| --- | --- |
| Forbidden header name | no |

Syntax
------
```

WWW-Authenticate: <type> realm=<realm>
```

Directives
----------

<type>

Tipo de autentificación. Un tipo común es "Basic". IANA mantiene una lista de los esquemas de autentificación.

realm=<realm>

Una descripción del recurso protegido. Si el realm no es especificado, los clientes a menudo muestran el hostname.

charset=<charset>

Le indica al cliente el tipo de encoding scheme preferido por el servidor cuando se envía un nombre de usuario y contraseña. El único valor permitido es la cadena de texto (no diferencia entre mayúsculas o mínusculas) "UTF-8". Esto no esta relacionado a el encoding del parámetro realm.

Ejemplos
--------

Típicamente, la respuesta del servidor contiene una cabecera `WWW-Authenticate` que se parece a estas:
```

WWW-Authenticate: Basic

WWW-Authenticate: Basic realm="Access to the staging site", charset="UTF-8"
```


Vea también HTTP authentication por ejemplos sobre como configurar un servidor Apache o nginx para proteger con contraseña tu sitio con autenticación básica HTTP.

Especificaciones
----------------

| Specification |
| --- |
| HTTP Semantics # field.www-authenticate |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Véase también
-------------

* HTTP authentication
* `Authorization`
* `Proxy-Authorization` (en-US)
* `Proxy-Authenticate` (en-US)
* `401`, `403`, `407` (en-US)
Keep-Alive
==========

**No estándar:** Esta característica no es parte de los estándares. No la uses en sitios Web en producción: no funcionará para todos los usuarios. Podrían haber también incompatibilidades considerables entre distintas implementaciones y el comportamiento podría cambiar en el futuro.

El encabezado **`Keep-Alive`** permite al remitente indicar como será la forma de conexión, se puede establecer un tiempo de espera y una cantidad máxima de solicitudes.

**Nota:** El encabezado `Connection` (en-US) se tiene que establecer en "keep-alive" para que este encabezado tenga sentido. Además, `Connection` (en-US) y `Keep-Alive` son ignorados en HTTP/2; la administración de la conexión se realiza mediante otros mecanismos.


| Header type | General header |
| --- | --- |
| Forbidden header name | no |

Sintaxis
--------
```

Keep-Alive: parámetros
```

Directivas
----------

*parámetros*

Lista de parámetros separados por coma, cada uno consiste en un identificador y un valor separado por el signo igual (`'='`). Es posible establecer los siguientes identificadores:

* `timeout`: indica la cantidad de tiempo *mínima* en la cual una conexión ociosa se debe mantener abierta (en segundos). Nótese que los *timeouts* mas largos que el *timeout* de TCP pueden ser ignorados si no se establece un mensaje de *TCP keep-alive* en la capa de transporte.
* `max`: indica el número máximo de peticiones que pueden ser enviadas en esta conexión antes de que sea cerrada. Si es `0`, este valor es ignorado para las conexiones no segmentadas, ya que se enviara otra solicitud en la próxima respuesta. Una canalización de HTTP puede ser usada para limitar la división.

Ejemplos
--------

Una respuesta que contiene el encabezado `Keep-Alive`:
```

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Thu, 11 Aug 2016 15:23:13 GMT
Keep-Alive: timeout=5, max=1000
Last-Modified: Mon, 25 Jul 2016 04:32:39 GMT
Server: Apache

(body)
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP/1.1 # compatibility.with.http.1.0.persistent.connections |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Mirar tambien
-------------

* `Connection` (en-US)
* Connection management in HTTP/1.x
Cookie
======

El encabezado **`Cookie`** de una solicitud HTTP contiene cookies HTTP almacenadas y enviadas previamente por el servidor con el encabezado (**`header`**) `Set-Cookie`

Los encabezados `Cookie` puede ser omitidos por completo, si las preferencias de privacidad del navegador están configuradas para bloquearlos, por ejemplo.

| Header type | Request header (en-US) |
| --- | --- |
| Forbidden header name | yes |

Sintaxis
--------
```

Cookie: <cookie-lista>
Cookie: nombre=valor
Cookie: nombre=valor; nombre2=valor2...nombreN=valorN;
```


<cookie-lista>

Una lista de pares `nombre:valor` definidos como `<nombre-de-cookie>=<valor-de-cookie>`. Los pares en la lista son separados por un punto y coma seguido de un espacio `('; ')`.

Ejemplos
--------
```

Cookie: PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1;
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP State Management Mechanism # cookie |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `Set-Cookie`
* `Document.cookie`
Authorization
=============

La cabecera de petición **`Authorization`** contiene las credenciales para autenticar a un usuario en un servidor, usualmente luego de que el servidor haya respondido con un estado `401` `Unauthorized` y la cabecera `WWW-Authenticate`.

| Tipo de cabecera | Cabecera de respuesta |
| --- | --- |
| Nombre de encabezado prohibido | No |

Sintaxis
--------
```

Authorization: <tipo> <credenciales>
```

Directivas
----------

<tipo>

Tipo de Autenticación. Un tipo común es "Basic". Otros tipos:

* IANA registry of Authentication schemes
* Authentification for AWS servers (`AWS4-HMAC-SHA256`)

<credenciales>

Si se utiliza el esquema de la autenticación "Basic", las credenciales son construidas de esta forma:

* El usuario y la contraseña se combinan con dos puntos (`aladdin:opensesame`).
* El string resultante está basado en la codificación base64 (en-US) (`YWxhZGRpbjpvcGVuc2VzYW1l`).

**Nota:** ¡La codificación Base64 no es equivalente a encriptación o hashing! Este método es igual de seguro a enviar las credenciales en un archivo plano de texto (la codificación base64 es reversible). Lo recomendable es utilizar HTTPS en conjunto a la autenticación básica.

Ejemplos
--------
```

Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l
```


Ver también HTTP authentication para ejemplos sobre cómo configurar servidores Apache o nginx para proteger su sitio con contraseña usando la autenticación básica HTTP.

Especificaciones
----------------

| Especificación | Título |
| --- | --- |
| RFC 7235, sección 4.2: Authorization | HTTP/1.1: Authentication |
| RFC 7617 | The 'Basic' HTTP Authentication Scheme |

Ver también
-----------

* HTTP authentication
* `WWW-Authenticate`
* `Proxy-Authorization` (en-US)
* `Proxy-Authenticate` (en-US)
* `401`, `403`, `407` (en-US)
Link
====

El campo de encabezado de entidad de **`Link`** HTTP proporciona un medio para serializar uno o más enlaces en encabezados HTTP. Es semánticamente equivalente al elemento HTML `<link>`.

Sintaxis
--------
```

Link: < uri-referencia >; parametro1=valor1; parametro2="valor2"
```


`<uri-reference>`

La referencia de URI debe estar encerrada entre `<` y `>`.

### Parametros

El encabezado del enlace contiene parámetros, que se separan con `;` y son equivalentes a los atributos del elemento `<link>`.

Ejemplos
--------

El URI debe estar encerrado entre `<` y `>`:


```http
Link: <https://ejemplo.com>; rel="preconnect"
```



```http
Link: https://mal.ejemplo; rel="preconnect"
```

### Especificando multiples links

Se puede especificar varios enlaces separados por comas, por ejemplo:
```

Link: <https://uno.ejemplo.com>; rel="preconnect", <https://dos.ejemplo.com>; rel="preconnect", <https://tres.ejemplo.com>; rel="preconnect"
```

Especificaciones
----------------

| Specification |
| --- |
| Web Linking # header |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `103 Early Hints` (en-US)
Origin
======

La cabecera de petición **`Origin`** indica de dónde se origina una búsqueda. No incluye ninguna información de ruta, sino sólo el nombre del servidor. Es enviado con las peticiones CORS, tanto como con las peticiones `POST`. Es similar a la cabecera `Referer`, pero, a diferencia de ésta, no revela la ruta completa.

| Tipo de encabezado | Petición del encabezado (en-US) |
| --- | --- |
| Nombe prohibido del encabezado | Sí |

Sintaxis
--------
```

Origin: ""
Origin: <esquema> "://" <nombre de host> [ ":" <puerto> ]
```


`Origin` puede ser una cadena vacía: esto es útil, por ejemplo, si el origen es una `data` URL.

Directivas
----------

<esquema>

El protocolo usado. Generalmente es el protocolo HTTP o su versión segura, HTTPS.

<nombre de host>

El nombre de dominio del servidor (para hosting virtual) o la IP.

<puerto> Opcional

Número de puerto TCP en el que el servidor está escuchando. Si no se proporciona, se usa el puerto por defecto para el servicio requerido (e.g., "80" para una URL HTTP).

Ejemplos
--------
```

Origin: https://developer.mozilla.org
```

Especificaciones
----------------

| Specification |
| --- |
| The Web Origin Concept # section-7 |
| Fetch Standard # origin-header |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `Host`
* `Referer`
* Política same-origin
X-XSS-Protection
================

El encabezado de respuesta HTTP **`X-XSS-Protection`** es una característica de Internet Explorer, Chrome y Safari que impide la carga de una página cuando detecta ataques del tipo Cross-Site (XSS (en-US)). Esta protección ya no es necesaria en los navegadores modernos cuando el sitio implementa una fuerte `Content-Security-Policy` que deshabilita el uso de Javascript inline (`'unsafe-inline'`). Sin embargo da protección a los usuarios de navegadores más antiguos que no soportan CSP (en-US)

| Tipo de encabezado | Response header |
| --- | --- |
| Nombre de encabezado prohibido | no |

Sintaxis
--------
```

X-XSS-Protection: 0
X-XSS-Protection: 1
X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; report=<reporting-uri>
```


0

Desativa el filtro XSS.

1

Habilita el filtro XSS (generalmente está predeterminado en los navegadores). En caso de detección de un ataque cross-site scripting, el navegador sanitizará a página (eliminará las partes inseguras).

1; mode=block

Habilita el filtrado XSS. En vez de sanitizar la página, el navegador evitará la visualización de la página en caso de que algún ataque sea detectado.

1; report=<reporting-URI> (Chromium solamente)

Habilita el filtro XSS. En caso de que algún ataque de cross-site scripting sea detectado, el navegador sanitizará la página e informará sobre la infracción. Utiliza la funcionalidad de la directiva CSP `report-uri` (en-US) para enviar um reporte.

Ejemplo
-------

Bloquea las páginas en las que se detecta un ataque XSS:


```bash
X-XSS-Protection: 1; mode=block
```


PHP


```php
header("X-XSS-Protection: 1; mode=block");
```


Apache (.htaccess)


```bash
<IfModule mod_headers.c>
  Header set X-XSS-Protection "1; mode=block"
</IfModule>
```

Especificaciones
----------------

No forma parte de ninguna especificación o borrador.

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Vea también
-----------

* `Content-Security-Policy`
* Controlling the XSS Filter – Microsoft
* Understanding XSS Auditor – Virtue Security
* The misunderstood X-XSS-Protection – blog.innerht.ml
Age
===

El encabezado **`Age`** contiene el tiempo medido en segundos que el objeto ha estado en la memoria caché de servidor proxy.El encabezado **`Age`** suele estar seteado en 0 (cero). Si **`Age : 0`** probablemente en ese instante se acaba de obtener la respuesta del servidor de origen, de lo contrario, por lo general esto se calcula como la diferencia entre la fecha actual del proxy y la fecha dada por el parámetro en cabecera "Date" (`Date` (en-US) ) incluído en la respuesta HTTP.

| Tipo de Cabecera | Response header |
| --- | --- |
| Nombre de Cabecera Prohibido Forbidden header name | no |

Sintaxis
--------
```

Age: <segundos>
```

Directivas
----------

<segundos>

Número entero no negativo, que representa el tiempo en segundos que el objeto ha almacenado en la caché del proxy.

Ejemplos
--------
```

Age: 24
```

Especificaciones
----------------

| Specification |
| --- |
| HTTP Caching # field.age |

Compatibilidad con navegadores
------------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Ver también
-----------

* `Cache-Control`
* `Expires`