NPN_GetURL () действует так же, как браузер, когда получает URL для его отображения.
Поэтому я ожидаю, что он извлечет файл с сервера, если он новее, чем тот, который доступен в кэше.
Проверяли ли вы (например, с помощью инструмента Fiddler , когда вы работаете в Windows), действительно ли браузер связывается с сервером, когда файл уже находится в локальном кэше, и, возможно, получает код состояния 304 ( Не изменено) в ответе?
Если вам нужен больший контроль над GET-запросом, таким как установка или изменение заголовков http, вам следует использовать одну из зависимых от платформы библиотек (WinInet / WinHttp в Windows или libcurl в Linux / OSX).