首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >"304 Not Modified“到底是怎么工作的?

"304 Not Modified“到底是怎么工作的?
EN

Stack Overflow用户
提问于 2014-01-08 01:36:48
回答 2查看 167.4K关注 0票数 187
  • 如何生成"304 Not Modified“响应?
  • 浏览器如何确定对HTTP请求的响应是否为304?
  • 是由浏览器设置的还是从服务器发送的?
  • 如果由服务器发送,服务器如何知道缓存中的可用数据,以及如何将304设置为图像?

我的猜测,如果它是由浏览器生成的:

代码语言:javascript
复制
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 the data.
     // What is that algorithm?
     return result;
}

console.log(is_modified());

我依靠第三方API提供商来获取数据,解析并将其推送到我的数据库中。在每次请求期间,数据可能会更改,也可能不会更改,但标头始终会发送200。我不想解析,检查数据库中的最后一个唯一ID,等等。为了确定数据的变化,也不是直接比较结果,而是我md5()sha1()crc32()对结果进行了散列处理,工作得很好,但我想知道确定304的算法。

我想使用相同的算法来确定数据中的更改。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20978189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档