So Google Web Accelerator drew flak again. Some people say that what matters is not the HTTP spec but what people are actually doing. In that case, what are the specs there for? I'm reminded of the Windows 95 introduction, when they found that Sim City had a bug - it used memory right after freeing it - but still happened to work under DOS but crashed under Windows. "They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and added special code that checked if SimCity was running, and if it did, ran the memory allocator in a special mode in which you could still use memory after freeing it." Is this where we want to go? Not me, atleast.
Then there's more flak for dropping X-Moz: prefetch. But once again, X-Moz: prefetch is not part of the spec and Google may have had a good reason for dropping the header, so I wouldn't blame them. After all, who says you have to use what Mozilla does? Aren't standards there for precisely this reason?
Granted, GWA breaks (part of) the web we have. But that doesn't mean you can blame Google for it. Agreed, there are reasons why you might want to perform destructive ("unsafe") operations through GETs - lack of POSTs in links, lack of nested forms, lack of a way to mark a URL as being "unsafe", lack of a standard prefetch header... All these are gaps in the HTTP/HTML standards. The W3C may have been sitting on its ass for years without handling these issues. So blame the W3C. Not Google.
Interestingly, the HTTP 1.1 RFC (2616) says that "the convention has been established that the GET and HEAD methods SHOULD NOT have the significance of taking an action other than retrieval". Convention? Why on earth is this RFC documenting a convention? Does the C++ language standard suggest that variable names be in lowercase? What is this - a convention or a requirement? Everyone seems to base their arguments on the view that the RFC forbids unsafe GETs, but if it's only a convention... Boy, we are on thin ice.
In any case, I wouldn't blame Google for this mess.