Как только вы обновите страницу, вы по-прежнему будете делать запросы к контенту на сервере, даже если вы запрашивали их раньше. Заголовки PHP не помогут вам в этом.
Я думаю, что вам нужен механизм кэширования содержимого на стороне клиента, уже запрошенного с сервера на текущей странице.
Для этого варианта использования вы можете использовать хеш-таблицу в JavaScript и запросить ее перед тем, как позвонить на сервер. Это улучшит взаимодействие с пользователем, поскольку пользователю не придется ждать другого запроса контента, который он уже видел.
Вот пример:
//placeholder for hash table as cache
var cache = [];
var getPage = function(pageNr){
if(cache[pageNr]){
//content is already in cache, use it from there
handleContent(cache[pageNr]);
}
else{
//object with parameteres sent with GET request
var params = {};
params.page = pageNr;
$.ajax({
url: "getHTML.php",
data: params,
cache: false,
success: function(response){
//handle your response here
handleContent(response);
//store the response in the cache for later use
cache[pageNr] = response;
}
});
}
};
Теперь запрашивающие страницы сначала заглянут в текущий кеш, чтобы узнать, есть ли у вас контент. Если нет, он выполнит вызов сервера и сохранит ответ в кеше.
Это похоже на взаимодействие с пользователем при просмотре новостей в Google Finance
ОБРАТИТЕ ВНИМАНИЕ, что при обновлении страницы этот кэш будет удален.
В случае редактирования страницы вам нужно будет использовать ссылки Мориса Перри на Yahoo Exceptional Performance, чтобы ваш сервер всегда возвращал вашу последнюю версию контента.
Подробнее о хеш-таблицах в JavaScript:
http://www.mojavelinux.com/articles/javascript_hashes.html