这是关于Expires和Last-Modified HTTP标头中指定的时区的问题。
在我看到的大多数示例中,我总是将GMT视为HTTP标头中的指定时区。
e.g。
最后修改日期:2009年10月21日00:00:00 GMT
到期日:2009年10月28日00:00:00 GMT
您知道浏览器是否只了解GMT,还是我们可以在这些HTTP标头中指定任何其他时区?
e.g。
上次修改日期:2009年10月21日00:00:00 PDT
到期日:2009年10月28日00:00:00 PDT
提前致谢,
的Vivek
答案 0 :(得分:23)
在我们这个全球化的世界中,有意义在GMT中发送这些Expires和其他与时间相关的元素,确实符合标准要求。
关于格式,HTTP(RFC2616)指定Expires头元素的格式,以符合指向RFC802的RFC1123。
关于 timezone ,但第3.3.1节明确指出:
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.
答案 1 :(得分:0)
使用PDT可能没问题,但其他时区缩写不一定是明确的,也不一定能够识别。美国东部时间肯定是模棱两可的(正如澳大利亚东部的那些保证)。 UTC(世界时,协调 - 又名GMT,格林威治标准时间)的优势在于没有变化,系统时钟(在Unix及衍生产品上)提供的时间是自''纪元'以来的秒数,这是1970-01-01 00:00:00 +00:00(UTC时间,虽然UTC直到1972年才正式成立)。因此,很容易获得UTC值;它毫不含糊; UTC的偏移量不会改变。