2015-06-28 2 views
4

Я играл с express.js, пытаясь вернуть простой json-объект, и заметил, что хотя я явно установил заголовок Content-Type как application/json, это видно только при первом ответе, когда код состояния 200. Каждый последующий ответ с 304 выигранным ' t есть Content-Type заголовок.Почему ответ 304 не имеет заголовка Content-Type?

Мой пример кода:

app.get('/user', function (req, res) { 
    res.set('Content-Type', 'application/json'); 

    res.send([ 
     { user: "john", email: "[email protected]"}, 
     { user: "marry", email: "[email protected]"}, 
     { user: "dan", email: "[email protected]"} 
    ]); 
}); 

Какова причина этого?

ответ

3

304 Not Modified означает, что запрос содержит conditional header просит сервер ответить с содержимым ресурса только если ресурс был изменен.

Поскольку содержимое не возвращается, заголовок Content-Type не отправляется. Это the recommended behavior для ответа 304 Not Modified HTTP.

Я ничего не знаю о express.js, но я бы посмотрел, какое именно кеширование выполняется.

+0

очень полезный камень знаний – danday74

 Смежные вопросы

  • Нет связанных вопросов^_^