J'ai le suivant:
var express = require('express'),
app = express.createServer();
app.get("/offline.manifest", function(req, res){
res.contentType("text/cache-manifest");
res.end("CACHE MANIFEST");
});
app.listen(8561);
L'onglet réseau de Chrome indique que c'est text/plain
. Pourquoi ne définit-il pas l'en-tête?
Le code ci-dessus fonctionne, mes problèmes ont été causés par un lien vers une ancienne version de express-js
Essayez ce code:
var express = require('express'),
app = express.createServer();
app.get("/offline.manifest", function(req, res){
res.header("Content-Type", "text/cache-manifest");
res.end("CACHE MANIFEST");
});
app.listen(8561);
(Je suppose que vous utilisez la dernière version de express, 2.0.0)
UPDATE: Je viens de faire un test rapide en utilisant Firefox 3.6.x et les en-têtes HTTP Live. Voici la sortie des addons:
HTTP/1.1 200 OK
X-Powered-By: Express
Content-Type: text/cache-manifest
Connection: keep-alive
Transfer-Encoding: chunked
Assurez-vous d'effacer votre cache avant d'essayer.
au lieu de res.send()
utilisez res.json()
qui définit automatiquement le type de contenu sur application/json