2013-09-03 6 views
5

Ich habe einige alte mod_perl-Code, der dynamischen Inhalt generiert. Ich wurde gebeten, bei jeder Antwort ein Etag zu senden.Generieren eines Etag basierend auf Körper in mod_perl

Es sieht so aus, als würde man einen mod_perl-Handler hinzufügen, aber dieser Inhalt wird dynamisch erzeugt, also muss ich das Etag zu einer Prüfsumme des Antworthauptteils machen. Ich habe noch keine Möglichkeit gefunden, den Inhalt des Response-Body in einem mod_perl-Handler zur Checksumme zu bringen.

Wie soll ich Etags basierend auf dem Antworttext in mod_perl dynamisch generieren?

+1

Wenn Sie den mod_perl-Handler selbst ändern können, ändern Sie ihn, um den gesamten auszugebenden Inhalt zu sammeln (d. H. Am Ende ein zentrales '$ r-> print'), so dass Sie beliebige Header hinzufügen können. Wenn Sie es nicht ändern können, könnte das Schreiben eines [mod_perl2 filter] (http://perl.apache.org/docs/2.0/user/handlers/filters.html) helfen. –

Antwort

0

Wenn Ihr Inhalt dynamisch generiert wird, dann ist dies wahrscheinlich der einfachste Weg, um die Etags auf völlig zufällige Zahlen zu setzen. (Und das ist auch der sicherste Weg ...)

Oder vielleicht können Sie eine Heuristik wie das Erstellen eines Hash aus den URL/get/post-Parameter erstellen. Wenn Sie diese Art von Heuristik nicht erstellen können, bedeutet dies, dass Ihre interne Logik auf anderen internen Zuständen basiert. (Sitzung/etc) Also wahrscheinlich sind die gesamten zufälligen Etags die beste Lösung.

Verwandte Themen