[squid-dev] Digest related question.
Eliezer Croitoru
eliezer at ngtech.co.il
Sat Feb 21 23:31:56 UTC 2015
From what I understand, the HTTP protocol and some RFC docs that was
mentioned in the list allow or provide a way to utilize Digest header
and\or Link headers which might contain some digest data.
So the first question is about the current md5 hash which is being used
by the internal index hashing.
Assuming we want to allow the admin change the default md5 hash into
sha1 or sha256 hash, how complicated will it be? can it be considered a
wanted feature?
And the second question, about metalinks related integration with squid.
In any scenario I see possible a digest of cache objects from the server
side would require digest update of any of the in transit objects and
another index or maybe two.
Another aspect of this thing is the integrity of the src server.
If the origin-server is indeed a hostile one we must not rely on it.
So there is a policy which needs to be implemented in some way to allow
an origin server which we rely on.
In order to prove this is indeed possible and applicable for what ever
system there is out-there I was thinking about writing a proof of
concept of the idea.
I would like to not touch squid code at all in the first steps while
implementing the proof of concept.
I need your help with the right point of view and ideas about how to
prove the idea.
What API or what options squid gives that can be used to implement the idea?
What available programming resources are there that can help me with the
task that you can think might help with the task?(assuming I am not a
c\c++ programmer)
Another pointer is that I do not have an option(from an outside
software) to run a lookup at the cache index for cached objects.
The way things are now, when I am trying to access the object with a GET
request I can get a result which will tell me if the object is in the
cache using the headers but will force me\UA to fetch the object or ABORT.
If I would use the HEAD method to request an object I will get a
HIT\MISS but it will not be related at all to the GET object state since
it's another object.
So, assuming I will need some http interface\API that will allow me to
run a query on squid index DB, will it make sense to write one?(If I
missed it and there is a way to do so already..)
I had some time in the past to learn this document:
https://cwiki.apache.org/confluence/display/TS/Metalink
which actually describes one approach to the subject.
Eliezer
More information about the squid-dev
mailing list