The concept of speculative transmission has been in HTTP-NG from back
before it was HTTP-NG; the technique can be used with HTTP/1.X with
persisent connections, but for several reasons, I believe that this is not
ideal. The main reason is the potentially negative effects of
speculative-mistakes; if complete documents are sent in monolithic chunks,
you need to wait for the whole of one document to arrive before you can
see what's next. With NG's interleaving you can send small chunks of each
object. Since the first bytes are the most important in terms of user
response, this improves percieved TTR.
This also makes speculation suitable for use even over large bandwidth
links (for example, filling out the last packet up to the MSS.)
Simon
--- (defun modexpt (x y n) "computes (x^y) mod n" (cond ((= y 0) 1) ((= y 1) (mod x n)) ((evenp y) (mod (expt (modexpt x (/ y 2) n) 2) n)) (t (mod (* x (modexpt x (1- y) n)) n))))