Monday, January 09, 2006

Axiom: In HTTP, GET must not have side effects.

Alex Bosworth's Weblog: Google's new web accelerator breaks webapps
Univeral Resource Identifiers -- Axioms of Web architecture

I knew it for a long time - learned a hard way. But how often you see ASP pages which include statements modifying database data in visible pages - pages containing HTML, how often you see such pages being linked from other pages! It's a GET operation when you follow a link!
Moreover, one thing which I don't like in ASP.NET (and it's a common tendency for Microsoft's products for developers) is that it tends to hide everything. There is no server and client, everything is mixed together into web controls. I don't need to know if it POSTs or GETs or is just sitting on a client in JavaScript. In my experience, such attempts always fail: to program something meaningful you have to now inner details.