2005-12-07
Google Desktop and conditional GET
Some people using Google Desktop have been pulling my syndication feeds recently, which gives me the opportunity to see how well Google Desktop implements conditional GET. Unfortunately, the results are either mixed or unclear.
(At this point I have to repeat the disclaimer from my earlier entry about this: I like having readers and we have a lot of spare bandwidth. This is absolutely not a request for people using Google Desktop to stop reading my feed.)
Google Desktop appears to sometimes but not always send (valid) If-None-Match and If-Modified-Since headers; at the moment, 26 requests out of 72 over the past week. Just seven of those requests managed to get 304 'nothing changed' responses (from only three out of the five different IP addresses hitting me with Google Desktop).
There certainly seem to be times when Google Desktop failed to get 304 Not Modified responses that it should have been able to get, so I have to conclude that in at least some circumstances, Google Desktop's conditional GET support is broken. It's clearly not entirely broken, since sometimes it does manage to have everything work right.
Interestingly, I see a pattern for a particular IP (that is unlikely to be shared) where Google Desktop made a first feed request with nothing, made a second feed request with INM and IMS about twelve hours later, found that the feed had changed, and then never sent INM and IMS again when it was re-fetching the feed. Hopefully Google Desktop is not taking the lack of a 304 response as an indication that the feed doesn't actually support conditional GET, and then not bothering to send the headers later on.
So it seems like Dare Obasanjo's experience from September of complete lack of support for conditional GET is not the full story (or at least part of it has been fixed since then). Unfortunately, just what is going on is not clear, although it seems likely that there is at least some problem.
(There are also some alarming reports about other Google Desktop actions in the comments to this entry.)