NodeJS / express: Caché y código de estado 304

Cuando recargo un sitio web hecho con Express, obtengo una página en blanco con Safari (no con Chrome) porque el servidor NodeJS me envía un código de estado 304.

¿Cómo resolver esto?

Por supuesto, esto también podría ser solo un problema de Safari, pero en realidad funciona bien en todos los demás sitios web, así que también tiene que ser un problema en mi servidor NodeJS.

Para generar las páginas, estoy usando Jade conres.render.

Actualizar: Parece que este problema se produce porque Safari envía'cache-control': 'max-age=0' en recargar

Actualización 2: Ahora tengo una solución alternativa, pero ¿hay una solución mejor? Solución:

app.get('/:language(' + content.languageSelector + ')/:page', function (req, res)
{
    // Disable caching for content files
    res.header("Cache-Control", "no-cache, no-store, must-revalidate");
    res.header("Pragma", "no-cache");
    res.header("Expires", 0);

    // rendering stuff here…
}

Actualización 3: Así que la parte del código completo es actualmente:

app.get('/:language(' + content.languageSelector + ')/:page', pageHandle);

function pageHandle (req, res)
{
    var language = req.params.language;
    var thisPage = content.getPage(req.params.page, language);

    if (thisPage)
    {
        // Disable caching for content files
        res.header("Cache-Control", "no-cache, no-store, must-revalidate");
        res.header("Pragma", "no-cache");
        res.header("Expires", 0);

        res.render(thisPage.file + '_' + language, {
            thisPage : thisPage,
            language: language,
            languages: content.languages,
            navigation: content.navigation,
            footerNavigation: content.footerNavigation,
            currentYear: new Date().getFullYear()
        });
    }
    else
    {
        error404Handling(req, res);
    }
}

Respuestas a la pregunta(6)

Su respuesta a la pregunta