The HyperText Computer and Client Side Scripting

Client side scripting enables the local client computer to perform parts of the processing required by a web application. Javascript is a client-side part of the magic sauce that makes AJAX apps so fluid and useful. This works, of course, but why do we need separate client side and server side technologies? The HyperText Computer provides an alternative to client side scripting.

The HyperText Computer (HTC) is a computer built on the HyperText Transport Protocol (HTTP). In a HTC, every operation is implemented by a HTTP request and all information is accessed via document URLs. Because of this the processing of any program may be seamlessly moved from the remote server to be executed locally without employing a new language technology.

It could work like this: When a user asks for a URL to be displayed in their browser, if the local HTC has spare processing or storage capacity this may be indicated in the HTTP request. The remote server, after receiving the request has a choice of returning the document that is at that URL or returning a URL of the code that when executed will generate the document. This works because the code that the server would have run retrieves all the information it needs by retrieving other URLs — that could just as easily be retrieved by the local HTC. If a browser, having indicated that it has local processing capacity available, receives code instead of HTML in reply to a request , it does not execute the code, instead it initiates a request of its local HTC passing the URL of the code to be executed.

The required extensions to HTTP to enable this mechanism is an open area for research. One consideration would be a mechanism servers could indicate a lifetime of the code returned in response to a HTTP request.

The HTC’s uniform model relying exclusively on HTTP requests and URLs means that the locus of processing is seamlessly transferable from one computer to another.