You need either "Max-Age" or "Expires" to force Chrome to revalidate content with the server.соответственно эти заголовки у вас отсутствуют, а при любом непонятном движении браузер запрашивает без кеша. И
The dev tools have an option "Disable cache (while DevTools is open)", perhaps you had that enabled? Click the 'gear' icon in the bottom right corner and check your settings.тоже задействовали?
$if (isset($_SESSION['message']) && !empty($_SESSION['message'])) {
, что впрочем не решает первоначальную проблему, у вас по прежнему мессаж инициализируется пустым массивом (зачем?).