-
Как генерируется "304 Not Modified"?
-
Как браузер определяет, отвечает ли ответ на HTTP-запрос составляет 304?
-
Установлен ли он браузером или отправлен с сервера?
-
При отправке сервером, как сервер знает данные, доступные в кеше, также как установить 304 на изображение?
Мое предположение, если сгенерировано браузером
function is_modified()
{
return get_data_from_cache() === get_data_from_url();
};
function get_data_from_cache()
{
return some_hash_or_xxx_function(cache_data);
}
function get_data_from_url()
{
return some_hash_or_xxx_function(new_data);
}
function some_hash_or_xxx_function(data)
{
// do something with data
// what is that algorithm.?
return result;
}
console.log(is_modified());
Я полагаюсь на стороннего поставщика API для получения данных, разбора и перевода их в БД. Данные могут или не могут меняться во время каждого запроса, но заголовок всегда отправляет 200
, я не хочу анализировать, проверять последний уникальный идентификатор в БД и т.д... для определения изменения данных и сравнения результата прямо, а я md5()
, sha1()
и crc32()
HASHed результат и отлично работает, но задается вопросом, что алгоритм определяет 304
.
Я хочу использовать такой же алгоритм для определения изменения данных.