Часовой пояс истекает и последние изменения заголовки HTTP - PullRequest
12 голосов
/ 28 октября 2009

Это вопрос относительно часового пояса, указанного в HTTP-заголовках Expires и Last-Modified.

В большинстве примеров, которые я видел, я всегда вижу GMT в качестве указанного часового пояса в заголовках HTTP.

, например

Дата последнего изменения: 21 октября 2009 г. 00:00:00 GMT

Срок действия истекает 28 октября 2009 г. 00:00:00 GMT

Знаете ли вы, понимает ли браузер только GMT, или мы можем указать какой-либо другой часовой пояс в этих заголовках HTTP?

, например

Дата последнего изменения: 21 октября 2009 г. 00:00:00 PDT

Истекает: 28 октября 2009 г. 00:00:00 PDT

Заранее спасибо,

Вивек

Ответы [ 2 ]

23 голосов
/ 28 октября 2009

В нашем глобальном мире имеет смысл отправлять данные об истечении срока действия и других связанных со временем элементах в GMT, а - это действительно то, что стандарт требует .

Что касается формата , HTTP ( RFC2616 ) определяет формат элемента заголовка Expires для соответствия самому RFC1123, указывая на RFC802 .

Что касается часового пояса , однако в разделе 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.
0 голосов
/ 28 октября 2009

Использование PDT может быть в порядке, но другие сокращения часовых поясов не обязательно однозначны и не обязательно распознаются. EST наверняка неоднозначен (как утверждают те, кто в восточной Австралии). Преимущество UTC (универсальное время, координированное - по Гринвичу, среднее время по Гринвичу) состоит в том, что нет никаких изменений, а системные часы (в Unix и производных) предоставляют время в виде количества секунд с момента «эпохи», которое было 1970-01-01 00:00:00 +00: 00 (время UTC, хотя UTC официально не существовало до 1972 года). Таким образом, легко получить значение UTC; это однозначно; смещение от UTC не меняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...