An Example Scenario

As an example, consider successive accesses of http://S/path via an HTTP proxy P:

  1. Client C1 sends a request req1 for r=http://S/path to P. addr(req2) = addr(req1) \forall e:Entity penalty(req2, e) = penalty(req1, e) date(req2) >= date(req1) resp1 = get(req2)
  2. P contacts S, makes a GET request for /path, and receives a response resp1:
    date(resp1) =	Date: Mon Dec 12 19:30:39 CST 1994
    lastMod(addr(req2), date(resp1)) = Last-Modified: Fri Dec 9 19:30:39 CST 1994
    expires(addr(req2), date(resp1)) = Expires: Fri Dec 16 19:30:39 CST 1994
    type(object(resp1)) = Content-Type: text/plain
    body(object(resp1)) = blah blah blah...
    
    

    Let

    Then at this point, the proxy knows:

    	e0 = HTTPGet(req1, t0), i.e.
    		e0 in Represent(r, t0)
    		and e0 minimizes AcceptPenalty(req1, Represent(r, t0))
    			    over Represent(r, t0)
    	Last-Modified(r, t0) = t1
    	Expires(r, t0) = t2
    

    Since there are no URI: headers in the response, the proxy also knows:

    	Represent(r, t0) = {e0}
    
  3. The proxy passes resp1, containing e0 on to the client C1. It updates its cache so that Pcache[r] = resp1.
  4. Client C2 makes a request req2 via the proxy P. req2 has the same URI as req1.
  5. P examines its cache and finds Pcache[r] = resp1.

Future Discussion

Other attributes of references

There are certain attributes commont to many information resources. For the resources to which some of these attributes apply, we should develop models and mechanism to make it possible compute the attributes reliably:

Other Topics