A method of servicing a request for a document over a computer network
includes independently caching portions of pages called blocks. Each
block includes a reference to a data source and code that is adapted to
access the data source and to format the data accessed from the data
source. When a request for a page is received over a computer network,
one or more of the plurality of blocks defined in the script of the
requested document may be retrieved from a cache memory. Any block that
is not found in the cache memory is dynamically generated and a copy
thereof is stored in the cache memory. The requested page may then be
assembled from the page blocks retrieved from the cache memory and/or the
dynamically generated page blocks.