Post HTTP响应已更改?

Post HTTP响应已更改?,post,httpwebrequest,http-post,httpwebresponse,Post,Httpwebrequest,Http Post,Httpwebresponse,我有一个HttpWebRequest,它可以“发布”到web服务器并得到一个HTML页面作为响应 有人问我,最好的做法是如何知道我得到的答复是否已经改变 我不能转发web服务器头,它们不一定是 这将以一种不需要再次解析响应的方式提高性能,并在大约半秒后转到下一个请求 在advanced中感谢您您可以告诉您的Web服务器上次修改日期。看见如果您不能依赖于此,那么您必须解析您的响应。使用md5可以很快做到这一点。因此,您可以“md5”当前响应,并将其与之前的响应进行比较。您不应该试图依赖POST请求

我有一个
HttpWebRequest
,它可以“发布”到web服务器并得到一个HTML页面作为响应

有人问我,最好的做法是如何知道我得到的答复是否已经改变

我不能转发web服务器头,它们不一定是

这将以一种不需要再次解析响应的方式提高性能,并在大约半秒后转到下一个请求


在advanced中感谢您

您可以告诉您的Web服务器上次修改日期。看见如果您不能依赖于此,那么您必须解析您的响应。使用md5可以很快做到这一点。因此,您可以“md5”当前响应,并将其与之前的响应进行比较。

您不应该试图依赖
POST
请求的头,因为它无论如何都不应该发出任何缓存头

您需要做的是对返回的内容执行哈希/校验和(这意味着头中
\r\n\r\n
下面的所有内容),并以这种方式进行比较

它应该足以存储最后一个请求的校验和/哈希,并与之进行比较

例如(psuedo):


这不会(或至少不应该)。。处理一个
POST
请求。是的,你是对的。因此,您要么将其更改为GET,要么使用md5对其进行比较。
int lastChecksum = 0;
bool hasChanged() {
    performWebRequest();
    string content = stripHeaders();
    int checksum = crc32string(content);
    if(checksum != lastChecksum) {
        lastChecksum = checksum;
        return true;
    }
    return false;
}