Вы не должны пытаться полагаться на заголовки для запроса POST
, так как он все равно не должен выдавать никаких кэширующих заголовков.
Вместо этого вам нужно выполнить хеш / контрольную сумму (это может быть CRC(32)
для абсолютной производительности или «реальный» хеш, такой как md5
) для возвращенного содержимого (это означает, что все под \r\n\r\n
в заголовках) и сделать сравнение таким образом.
Это должно быть достаточно для хранения контрольной суммы / хэша последнего запроса и сравнения с ней.
Например (псевдо):
int lastChecksum = 0;
bool hasChanged() {
performWebRequest();
string content = stripHeaders();
int checksum = crc32string(content);
if(checksum != lastChecksum) {
lastChecksum = checksum;
return true;
}
return false;
}