Section 19.3 "Tolerant Applications" of the HTTP 1.1 RFC (2616) says on the subject of parsing dates from HTTP client applications:
If an HTTP header incorrectly carries a date value with a time zone other than GMT, it MUST be converted into GMT using the most conservative possible conversion.
Two questions:
Does this mean that the server MUST convert a non-GMT date value to GMT? Or does it mean that if (optionally) it chooses to convert a non-GMT date value to GMT (rather than rejecting it) then it MUST use the most conservative possible conversion?
What is meant by "the most conservative possible conversion"?
Edit Although this is now an old question, I'm still interested in knowing the answer if anyone has it.
Time zones with the GMT -4 offset: AST - Atlantic Standard Time.
The India Standard Time (IST) is 5.5 hours ahead of Greenwich Mean Time (GMT).
Most of Australia uses three standard time zones, Australian Eastern Standard Time (AEST) which is UTC/GMT+10, Australian Central Standard Time (ACST) which is UTC/GMT + 9 1/2 and Australian Western Time (AWST) which is UTC/GMT +8.
(1) In above formulas, 9 is the number of hours the local time ahead to GMT, and you can change it as you need, if the local time is backward to the GMT, you just can change the plus sign + to minus sign -. (2) The formula =A2 + (9 / 24) will return a decimal number.
Does this mean that the server MUST convert a non-GMT date value to GMT? Or does it mean that if (optionally) it chooses to convert a non-GMT date value to GMT (rather than rejecting it) then it MUST use the most conservative possible conversion?
This is really something that's more specific to the field in question than something that's applied generally. There is a working group draft that would obselete RFC 2616 that has this to say about conversion in caches:
What is meant by "the most conservative possible conversion"?
Under this context, it doesn't seem to mean anything specifically aside from when faced with 2 outcomes, pick the most "conservative" date based on the context of the date.
Given 2 dates that was fuzzy parsed, in the context of a Last-modified
header, the most conservative would be the "later" one. But in the context of a Expires
header, the earlier of the 2 is more conservative. Anything requiring a significant amount of guessing should just return an error response.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With