Я полагаю, вы используете старые и устаревшие RFC 2616 в качестве эталона.Пожалуйста, имейте в виду, что в настоящее время такой документ более не актуален и был заменен следующими документами:
По HTTP RFC 7231 , HTTPдаты должны быть выражены в GMT.
Посмотрите, как определяется заголовок Expires
в RFC 7234 :
5,3.Истекает
В поле заголовка Expires
указывается дата / время, после которого ответ считается устаревшим.[...]
Значение Expires
является отметкой времени HTTP-date
, как определено в Разделе 7.1.1.1 RFC 7231 .
Expires = HTTP-date
Дляпример
Expires: Thu, 01 Dec 1994 16:00:00 GMT
Теперь посмотрите следующую цитату из RFC 7231 :
7.1.1.1.Форматы даты / времени
До 1995 года серверы использовали три разных формата для передачи меток времени.Для совместимости со старыми реализациями все три определены здесь.Предпочтительным форматом является подмножество фиксированной длины и одной зоны спецификации даты и времени, используемого форматом сообщений Интернета [RFC5322].
HTTP-date = IMF-fixdate / obs-date
Примером предпочтительного формата является
Sun, 06 Nov 1994 08:49:37 GMT ; IMF-fixdate
Примерами двух устаревших форматов являются
Sunday, 06-Nov-94 08:49:37 GMT ; obsolete RFC 850 format
Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
Получатель, который анализирует значение метки времени в поле заголовка HTTP, ДОЛЖЕН принимать все три формата HTTP-date
.Когда отправитель генерирует поле заголовка, которое содержит одну или несколько меток времени, определенных как HTTP-date
, отправитель ДОЛЖЕН генерировать эти метки времени в формате IMF-fixdate
.
Значение даты HTTP представляет время как экземпляр CoordinatedВсемирное время (UTC).Первые два формата обозначают UTC трехбуквенным сокращением для среднего времени по Гринвичу, GMT, предшественника названия UTC;значения в формате asctime
предполагаются в формате UTC.[...]