thinking in HTTP
2008-01-17 @ 11:35#
having spent several months really digging into HTTP and REST, i find that - more often than not _ i am "thinking in HTTP."
i am putting together a bit longer piece on the notion, but here's the gist. when some comes to me with an information 'task' to do (maintain records online, manage app configurstions, provide a full-blown web UI, etc.) i start thinking like this:
- what are the resources that need to be exposed?
- what are the HTTP methods that need to be supported
- what is the default mime-type of the resources? what are the preferred alternate types?
- can we use Ajax-scripting or do we need to support standard HTML FORM scenarios?
- what are the dependent cache issues (when updating resoruceX, what other resources are now invalid?
- can we use HTTP Auth? (and if not, why?)
in addition to these questions, here are some other assumptions with which i always start:
- we *will* support standard caching models (expiration/validation)
- we *will* support Etags and 304
- we *will* support multiple representations
- we *will* support compression
all this means i *start* by designing a REST-ful web application. and it will take a lot of effort to force me to verr off that course.
hey, it works for me!