RE: New document on "Simple hit-metering for HTTP"

this is just selective cache-busting....the proxy has know way of
knowing if
the document "actually varies" so the entire document gets sent for each
variation.

perhaps the server should send

Cache-Control-Vary

or some such nonsense

BTW:

it would be nice to be able to vary by *.com, *.edu, *.org ... and still
have everything work.





>----------
>From: 	Jeffrey Mogul[SMTP:mogul@pa.dec.com]
>Sent: 	Friday, August 09, 1996 6:45 PM
>To: 	koen@win.tue.nl
>Cc: 	http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com; mogul@pa.dec.com
>Subject: 	Re: New document on "Simple hit-metering for HTTP" 
>
>    This is very interesting...  I wrote earlier that we need to
>    distinguish between two kinds of demographic data:
>    
>    1) Hit counts
>    
>    2) User's Referer field, IP address, User-Agent field, ...
>    
>    The proposed hit counting mechanism allows you to get 1) for all
>user
>    agents without cache busting, but not 2).  You seem to predict that
>    most advertising sites will want to have 2) in future.  That would
>    make the the proposed hit counting mechanism pretty ineffective at
>    reducing cache busting.
>
>This is not true.  For any field that appears in the client's
>request headers (i.e., not "IP address" but definitely User-Agent),
>you can obtain counts without cache-busting (which I would
>define as "completely disabling caching").
>
>E.g., suppose I (at an origin server) want to subdivide the count
>based on User-Agent.  I would send "Vary: User-Agent" with my
>responses, but I would still send the same Etag header with each
>response.
>
>So the first time the cache does a GET on the URL, e.g.,
>
>	GET /foo.html HTTP/1.1
>	User-Agent: Lynx
>	Cache-control: use-count=0
>
>I would reply
>
>	HTTP/1.1 200 OK
>	Etag: "abc"
>	Vary: User-Agent
>	Content-Length: 10000
>	Cache-control: max-uses=1000
>	[...]
>
>Then when the cache receives another request from a Mosaic user, it
>would send
>
>	GET /foo.html HTTP/1.1
>	User-Agent: Mosaic
>	Cache-control: use-count=0
>	If-None-Match: "abc"
>
>and I would reply
>
>	HTTP/1.1 304 Not Modified
>	Etag: "abc"
>	Cache-control: max-uses=1000
>
>I.e., the cache now knows that it can use the entity with Etag = "abc"
>for both Mosaic and Lynx User-agents, and that I want it to keep
>separate counts based on User-agent.  Only one copy of the body
>has been transmitted from the server to the cache, only one copy
>is stored at the cache, and the cache need not do any more conditional
>GETs unless new User-Agents appear.
>
>If the proxy is "cooperative" (as we define in our proposal), then
>when it finally removes this entity from its storage, it would have
>to send
>
>	HEAD /foo.html HTTP/1.1
>	User-Agent: Lynx
>	Cache-control: use-count=97
>
>	HEAD /foo.html HTTP/1.1
>	User-Agent: Mosaic
>	Cache-control: use-count=13
>
>(but of course these can be sent in one TCP packet, since we
>are presumably using persistent connections).
>
>-Jeff
>
>
>

Received on Friday, 9 August 1996 17:34:14 UTC