Najprostszym rozwiązaniem jest stosowanie zapytań typu POST.

Możemy również ustawić nagłówek „Expires” na datę w przeszłości, dzięki czemu unikniemy zapisania strony w pamięci podręcznej. Przykład zastosowania w PHP:

header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" ); // sprawia, że IE nie zapisze tej strony header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" ); header( "Cache-Control: no-cache, must-revalidate" ); header( "Pragma: no-cache" ); header( "Expires: -1", false );

To samo można osiągnąć, używając Java Servlet:

response.setHeader( "Pragma", "no-cache" ); response.addHeader( "Cache-Control", "must-revalidate" ); response.addHeader( "Cache-Control", "no-cache" ); response.addHeader( "Cache-Control", "no-store" ); response.setDateHeader("Expires", 0);

Alternatywnie można również określić w obiekcie XMLHttpRequest, aby pobierał zawartość pomimo zapisanej wersji w pamięci podręcznej, tak jak pokazano w poniższym przykładzie:

req.open( "GET", "xmlprovider.php" ); req.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" ); req.send( null );

Kolejnym rozwiązaniem jest używanie losowego ciągu znaków na końcu zapytania:

req.open( "GET", "xmlprovider.php?sid=" + Math.random());

Zapewni to pobranie aktualnej zawartości.