[squid-dev] Digest related question.
Eliezer Croitoru
eliezer at ngtech.co.il
Sun Feb 22 01:31:47 UTC 2015
On 22/02/2015 02:46, Amos Jeffries wrote:
> The response to a HEAD request is supposed to be exactly identical to a
> response to the GET, but with the body/payload/entity cropped off. Even
> the Content-Length headers etc should be present saying what size the
> body would have been.
So just to make sure I understand the reality:
In a case I start squid with 0 objects and run only one transaction of a
GET request it would create two objects?
From what I have seen in the code in the past(very long ago) I remember
that it might not be this way.
So I cannot just run a HEAD request and expect it to reflect too much
information about the cached data.
About the store log, I have one issue with it and it is that I would not
be able to "know" if the object is in the cache unless I will follow
everything in the store log including cache removals.
So one process that will follow the store log and will store it will be
enough to supply the currently "cached" object list per squid instance
start till the squid shuts down.
In a case I would try to "save" it for after a shutdown would be more
difficult.
From another point of view which is the actual content digest I would
need some way to receive the file\response content and I was thinking
about an ICAP based solution which might be combined with the store log
"follower".
I have a situation in mind for some situation with this kind of a setup:
Fetch a URL which will be digested as we go and then will be "followed"
and in a case the associated url will be purged from the cache the
digest will also be erased from the DB.
Now the next part is the right way to "know" if there is a way to
pre-find the request digest from the origin server.
And it seems like a HEAD request to the origin server might be enough.
So the origin server must be publicly accessible so the "follower" might
be able to fetch a HEAD of the file and lookup any digest data in the
response.
In turn a metalink file link in the HEAD headers might be usable for a
more complicated options.
There is another issue with digest "validation" which can be considered
as an option for black\white list a server for digest\metalink credibility.
Do you think this idea looks a bit sane?
Eliezer
More information about the squid-dev
mailing list