This breakdown is a useful way to think about application state in the browser. Another axis that could be incorporated into the model is lifetime. There is some overlap between Server-Controlled and Script-Controlled realms in cookies, applications definitely have a dependency on that overlap being there. There are two constructs not represented in your writeup, Database and ApplicationCache. > Possible solutions would be to add a new "documentStorage" to > WebStorage, or to offer a History.setDocumentState method.
I see other possibilities with WebStorage too. "documentStorage" has persistent lifetime + document scope others... transient lifetime + document scope (transient does not survive a browser restart) transient lifetime + user agent scope "temporaryStorage" transient lifetime + history entry scope "privateStorage"
