Comment 3 for bug 1253207

Revision history for this message
Samuel Merritt (torgomatic) wrote :

From RFC 2216 section 3.3.1 ("Full Date"):

   HTTP applications have historically allowed three different formats
   for the representation of date/time stamps:

      Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
      Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
      Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format

   The first format is preferred as an Internet standard and represents
   a fixed-length subset of that defined by RFC 1123 [8] (an update to
   RFC 822 [9]). The second format is in common use, but is based on the
   obsolete RFC 850 [12] date format and lacks a four-digit year.
   HTTP/1.1 clients and servers that parse the date value MUST accept
   all three formats (for compatibility with HTTP/1.0), though they MUST
   only generate the RFC 1123 format for representing HTTP-date values
   in header fields. See section 19.3 for further information.

The last sentence is of particular importance: HTTP/1.1 servers MUST accept all three formats. The functional tests are feeding in asctime()-formatted date+time values, and Swift MUST accept them. (The RFC mention's C's asctime() format, but Python's is the same AFAIK.)