2009-10-28 20 views
12

Esta es una pregunta sobre la zona horaria especificada en los encabezados de HTTP expira y Última modificación.Timezone for Expires y Last-Modified HTTP Headers

En la mayoría de los ejemplos que he visto, siempre veo GMT como la zona horaria especificada en los encabezados HTTP.

p. Ej.

-de la última actualización: 21 Octubre 2009 00:00:00 GMT

Expira: 28 Octubre 2009 00:00:00 GMT

¿Sabe usted si el navegador solo entiende GMT, o podemos especificar cualquier otra zona horaria en estos encabezados HTTP?

p. Ej.

-de la última actualización: 21 Octubre 2009 00:00:00 PDT

Expira: 28 Octubre 2009 00:00:00 PDT

Gracias de antemano,

Vivek

Respuesta

22

En este mundo global de la nuestra, tiene sentido para enviar estos vencimientos y otros elementos relacionados con el tiempo en GMT, y que es de hecho lo que el estándar requiere.

En cuanto al formato de , HTTP (RFC2616) especifica el formato de Expira elemento de cabecera para cumplir con RFC1123 sí que apunta a RFC802.

Con respecto a la zona horaria , sin embargo la Sección 3.3.1 establece explícitamente:

 
All HTTP date/time stamps MUST be represented in Greenwich Mean Time (GMT), 
without exception. For the purposes of HTTP, GMT is exactly equal to UTC 
(Coordinated Universal Time). This is indicated in the first two formats by 
the inclusion of "GMT" as the three-letter abbreviation for time zone, and 
MUST be assumed when reading the asctime format. HTTP-date is case sensitive 
and MUST NOT include additional LWS beyond that specifically included as SP in 
the grammar. 
0

El uso de la TFD puede estar bien, pero otras abreviaturas de zona horaria no son necesariamente ambigua y no necesariamente reconocido. EST seguramente es ambiguo (como garantizarían aquellos en el este de Australia). La ventaja de UTC (Tiempo Universal, Coordinado, también conocido como GMT, Greenwich Mean Time) es que no hay cambios, y el reloj del sistema (en Unix y derivados) proporciona el tiempo como el número de segundos desde 'la época', que era 1970-01-01 00:00:00 +00: 00 (una hora UTC, aunque el UTC no comenzó formalmente hasta 1972). Por lo tanto, es fácil obtener el valor UTC; es inequívoco; el desplazamiento de UTC no cambia.