Wie speichert man eine HTTP POST Response?

9

Ich möchte eine Cache-fähige HTTP-Antwort für eine POST-Anfrage erstellen.

Meine tatsächliche Implementierung antwortet für die POST-Anfrage wie folgt:

%Vor%

Aber es sieht so aus, als würden die Browser (Safari, Firefox getestet) die Antwort nicht cachen.

Im HTTP-RFC lautet der entsprechende Teil:

  

Antworten auf diese Methode können nicht zwischengespeichert werden, es sei denn, die Antwort enthält entsprechende Cache-Control- oder Expires-Headerfelder. Die 303-Antwort (Siehe Andere) kann jedoch verwendet werden, um den Benutzeragenten anzuweisen, eine zwischenspeicherbare Ressource abzurufen.

Also ich denke, es sollte zwischengespeichert werden. Ich weiß, dass ich eine Sitzungsvariable setzen und ein Cookie setzen und eine Umleitung 303 durchführen konnte, aber ich möchte die Antwort der POST-Anfrage zwischenspeichern.

Gibt es eine Möglichkeit, dies zu tun?

PS .: Ich habe mit einem einfachen 200 OK angefangen, also funktioniert es nicht.

Danke,

    
KARASZI István 06.10.2010, 15:40
quelle

2 Antworten

3

Ich würde auch bemerken, dass Caching immer optional ist (es ist ein MAI im HTTP / 1.1 RFC). Da in den meisten Fällen ein erfolgreicher POST einen Cache-Eintrag ungültig macht, ist es wahrscheinlich einfach so, dass die Browser-Caches, die Sie gerade betrachten, keine Caching-POST-Antworten implementieren (da dies ziemlich ungewöhnlich wäre). Normalerweise wird dies erreicht, indem Dinge wie ein GET formatiert werden, was so klingt, als ob du es getan hättest.

    
Jon Moore 26.12.2010, 13:47
quelle
0

Können Sie versuchen, Cache-Control in public statt private zu ändern und zu sehen, ob es funktioniert?

    
Nir Levy 07.10.2010 08:43
quelle