Как принудительно обновлять изображение (кеш) в README.rst на GitHub

17

В одном из моих проектов я использую ссылку внешнего изображения для отображения скриншота через страницу GitHub, которая автоматически анализирует README.rst

страница GitHub ROyWeb

Я обновил этот снимок экрана на своем веб-сервере несколько раз за последние недели, и я просто понял, что он не обновляется на странице GitHub, так как ... ну я думаю, что он никогда не обновлялся ;-) GitHub каким-то образом загрузил изображение и загрузил его с кеш-серверов.

В README.rst, очевидно, есть правильная ссылка:

Фактическая ссылка на скриншот ROyWeb

Что вы можете подтвердить при загрузке необработанного файла:

необработанный README.txt на GitHub

Но когда я проверяю URL-адрес отображаемого изображения на странице GitHub, я получаю:

GitHub кэшированный скриншот ROyWeb

Кто-нибудь знает, как заставить «recache»?

    
задан tamasgal 12.11.2014 в 23:39
источник

3 ответа

34
curl -X PURGE {url of cached badge image}
    
ответ дан Alex.Designworks 03.05.2016 в 11:41
источник
2

Я считаю, что понял, как это сделать сейчас. Вместо того, чтобы обслуживать необработанный файл png, например, выполните изображение через php-файл (много примеров на SO).

Как только вы показываете изображение с PHP, добавьте следующие заголовки:

header('Cache-Control: no-cache');
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() - 36000));

Установив no-cache и истекая срок действия кеша в прошлом, я обнаружил, что CDN GitHub обновляет изображения автоматически при каждом обновлении.

    
ответ дан b85411 12.01.2015 в 01:59
источник
2

Я посмотрел, что делает shields.io .

Он устанавливает этот заголовок ( Источник ):

Cache-Control: max-age=2592000
    
ответ дан User 31.03.2017 в 11:44
источник