So, the web (or at least a few people who are encountering early
adoptors) are up in arms
about Google Web Accelerator.
The quick summary: GWA follows links for you, including links like
"delete this item", including that it ignores Javascript confirmation
dialogs.
Of course, REST people are going to say you shouldn't be causing side
effects in response to GET queries, that this is a learning experience.
What I learn: some people pay too much attention to HTTP and not
enough attention to The Web That We Have. Sure, GET shouldn't have
side effects, but Simon Willison correctly notes that "shouldn't"
doesn't mean "can't", and so it's entirely reasonable and legal to do
so. Mozilla has prefetching, but strictly in an opt-in manner
(<link rel="prefetch"> and a few other cases); this works fine.
Frankly I don't know how Google could be so stupid; this issue
occurred to me the moment I first heard about prefetching, long before
the GWA. Don't they have any web application developers at Google? I
can only hope they do the right thing and retract the GWA immediately,
and use whatever system they have to disable this feature in all
currently deployed instances.
For anyone who happens to be using Apache, you can use this to disable
the GWA on your site:
RewriteEngine on
RewriteCond %{HTTP_X_MOZ} prefetch
RewriteRule .* - [F]
Hopefully this will only be necessary transitionally.
The real issue is that HTML and web browsers have not supported POST
well, and web application developers have used GET because of UI
issues. If anchor tags had a method="post" attribute, this
wouldn't be a problem. But they don't, and so that's why we are where
we are. It's not a Hard Problem, but the W3C gave up on HTML a long
time ago, it seems, and so they gave up on being relevant. The
WHAT-WG has been trying to address these
issues, but they are relatively new. I think they are doing important
things, but you can't expect any web developers to have used anything
they are producing yet. The Web Application Spec does allow for more
flexible arrangement of forms, including (effectively) nested forms.
Though it doesn't make the <a> tag any richer, which is a shame.
The fact is: the Google Web Accelerator breaks the web that exists
right now. Therefore the GWA is broken. It doesn't matter who is
more right, who kept with the spec, or even if current practices
aren't entirely safe. When the GWA breaks things that didn't break
before, I'm going to blame the GWA. And I'm going to blame Google.
So they better get their ass in gear and fix this quick.