Обновление: сервер определит тип клиента по заголовку User-Agent
запроса и, соответственно, выдаст другое значение Content-Type
.Это имеет смысл, поскольку не все клиенты поддерживают webp.
Таким образом, чтобы получить ресурс типа image/webp
, вы можете отправить собственный заголовок User-Agent
и смоделировать его как Chrome и т. Д. Например, в Node.js и axios:
const axios = require('axios');
axios.request({
url: 'https://www.pwc.com.tr/tr/sektorler/Perakende-T%C3%BCketici/kuresel-tuketicileri-tanima-arastirmasi/kuresel-tuketici-gorusleri-arastirmasi-info-5en.png',
method: 'get',
headers: {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'
}
}).then(function(res) {
console.log(res.headers); // content-type header is image/webp now.
}).catch(function(err) {
console.log(err);
});
Браузер пытается сохранить это изображение в формате .webp
, поскольку: в заголовках ответа HTTP значение заголовка Content-Type
равно image/webp
:
как можно определить, что это действительно веб-изображение, «спрятанное» за ссылкой, которая выглядит и действует как файл png ...?
Вы можете проверить заголовок HTTP-ответа и узнать, что это такое Content-Type
.