Изображения веб-сервера IE11 отображаются в виде черного ящика белого креста - это тип контента? - PullRequest
0 голосов
/ 30 ноября 2018

Написание этого вопроса, чтобы помочь другим, кто получил эту проблему, поскольку я не нашел очевидного или ясного ответа, когда мне это нужно.

Симптомы:

  • У вас есть устаревший веб-сайт/ app
  • В качестве хорошей практики вы используете http-заголовок «X-Content-Type: nosniff» на веб-сервере.
  • IE11 теперь показывает некоторые изображения в порядке, но другие выглядят как черный ящик с белымкрестик

Какого черта?

Обратите внимание, что в моем случае это была проблема с Win2016 и IIS, но это общая проблема для любого веб-сервера, который отправляет http-заголовок типа X-content.

1 Ответ

0 голосов
/ 30 ноября 2018

Речь идет о нюхании мима.Устанавливая заголовок «X-Content-Type: nosniff» на веб-сервере, вы говорите клиентам браузера обращать внимание на типы MIME-изображений, поскольку вы намереваетесь только отправлять правильные MIM-данные.

Тип MIME зависит от заголовка типа содержимого, который отправляется с сервера при запросе изображений.Это можно увидеть с помощью Fiddler и аналогичных инструментов трассировки.

В нашем случае на сервере существовала устаревшая программа сервера изображений, которая использовалась для добавления дополнительного уровня защиты на основе приложений для доступа к файлам.В основном, DIY-программа, написанная на VB6, но это могло быть что угодно.Даже наша замена C # в поздней стадии разработки имела ту же проблему.

Это отправляло тип контента как 'application / octet-stream', который определенно не похож на 'image / jpg' или 'image /png 'и т. д.

Комбинация сервера, отправляющего заголовок типа X-контента, и сервера изображений, отправляющего неправильный тип контента для данных изображения, заставила IE11 решить, что изображение не может быть использовано, и, следовательно,проблема черного ящика и белого креста.

Решение:

  • Временное решение заключалось в удалении типа X-content: nosniff из конфигурации веб-сервера
  • Термин «решение» заключался в изменении dll файлового сервера для отправки соответствующего заголовка типа контента для обслуживаемого типа файла.И снова установите 'X-content-type: nosniff' на веб-сервере!
...