Just to summ up: Letting the helper do random combining/reordering leads into highly-ineffitient lookup algorithm, and apparently it is not needed.
Cache level could structured in a 'path'-alike, or disjoint. Disjoint solves reordering issue in an efficient manner. Having each token a member of a cache level is discarded as an option. I would like to have a somehwat explicit cache level. Alternatives to this is: a) expand %| to some string: discarded. b) helper tells squid about format specification & cache levels upon startup. c) squid notifies helper at startup about format & cache levels. If there is any inconsistency, helper can notify admin. I prefer "b", but "c" sounds good as well. -- Gonzalo A. Arana