Не знаю, заметил ли кто-либо еще это.
Создайте запрос XMLHttpRequest в скрипте содержимого в файл изображения:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(xhttp.getAllResponseHeaders());
}
};
xhttp.open("HEAD", "https://www.gstatic.com/webp/gallery3/1.sm.png", true);
xhttp.send();
Вы получите следующее:
дата: вт, 27 ноября 2018 15:42:53 GMT x-content-type-options-options: nosniff последнее изменение: чт, 21 апр 2016 03:17:22 GMT сервер: sffe возраст: 1136854 варьироваться: Тип содержимого источника: image / png статус: 200 контроль кеша: общедоступный, max-age = 31536000 допустимые диапазоны: байты alt-svc: quic = ": 443";ма = 2592000;v = "44,43,39,35" длина содержимого: 48061 x-xss-protection: 1;режим = срок действия блока: ср., 27 ноября 2019 г. 15:42:53 GMT
Сделайте запрос выборки в скрипте содержимого для того же изображения:
fetch("https://www.gstatic.com/webp/gallery3/1.sm.png", {method: "HEAD"})
.then(res => {
var headers = res.headers;
headers.forEach(function(value, name) { console.log(`${name} : ${value}`);
});
Вы получитеследующий назад:
контроль кэша: общедоступный, max-age = 31536000 Тип содержимого: image / png истекает: вт, 10 дек. 2019 20:12:24 GMT последнее изменение: чт, 21Апр 2016 03:17:22 GMT
Это связано со спецификациями W3 here , которые подтверждают мне, что fetch не полностью использует льготы по манифестам для разных источников дляРасширения Chrome.Однако, если вы делаете запрос get с помощью Fetch, он успешно выполняется.
Кто-нибудь знает, является ли это намеренным?