Prima ancora di porre la domanda - questa è una domanda difficile da inquadrare, quindi accolgo con favore le modifiche per migliorare la chiarezza.
In che modo i principali browser decidono come memorizzare le risposte in cache, in particolare se le risposte vengono recuperate tramite AJAX e non dispongono di un controllo cache esplicito o di altri intestazioni della cache?
Le applicazioni che sto testando sono entrambe abbastanza simili, in quanto utilizzano un MVC JavaScript per il rendering della pagina, la risposta alle azioni dell'utente e l'esecuzione di richieste XHR. Tutte le risposte sono in JSON, ad eccezione della pagina principale. Entrambe le applicazioni sono su HTTPS. L'applicazione 1 ha l'intestazione HSTS impostata, L'applicazione 2 non lo è.
Nessuna di queste applicazioni imposta le intestazioni di Cache-Control in modo esplicito. Tuttavia Applicazione 1 contiene non informazioni sulla cache, mentre Applicazione 2 fornisce informazioni sulla cache. L'unica distinzione importante tra i due è che gli URL di Applicazione 1 sono nel formato <URL>/#/some/action/performed
mentre gli URL di Applicazione 2 sono più semplici, ovvero <URL>/someaction
. Il mio argomento principale era che il browser non memorizza nella cache le risposte restituite a qualsiasi URL che contiene #
in esse, perché per quanto riguarda il browser, è la stessa pagina. Tuttavia, non sono convinto con questo argomento, semplicemente perché alla fine della giornata, sono tutte le richieste XHR che vengono fatte, quindi perché il diverso comportamento tra le applicazioni?