tags:

views:

86

answers:

2

Hi,

I have a site behind IIS and Enfold Proxy (a reverse proxy filter for IIS), served from Plone (a CMS) via a WSGI stack. Users use IE7.

Somehow, requests are reaching the server with an If-Modified-Since header like this:

Thu, 27 Aug 2009 06:46:31 GMT,Thu, 27 Aug 2009 06:46:31

As you can see, there are two dates here (one with a time zone, one without), separated by commas.

The code in Plone is capable of handling two dates separated by semicolons, but this format causes it to barf.

Whilst I can work around it, I'd like to figure out where the If-Modified-Since header is coming from and how it could be comma-delimited instead of semicolon-delimited. Any ideas?

Martin

+1  A: 

In general HTTP uses commas to separate items in a list while semicolons are used to separate parameters of an item. So the comma syntax would be correct.

But according to the specification, the If-Modified-Since header field does only allow one single date and not a list of dates. So I don’t the semantics of a list of dates in this case.

Gumbo
Interesting. The code in Plone definitely assumes there could be multiple, semicolon-separated values.
+1  A: 

This header might have been created by joining two separate If-Modified-Since headers. In general HTTP allows merging of multiple headers into one comma-separated one, and proxies might do that.

However, it does not allow this in case of If-Modified-Since header, so you're getting malformed request and should ignore If-Modified-Since or fail with status 400.

porneL