Клуб API Карт

Неверный content type у скриптов и картинок

Логутов Михаил Михайлович
6 июня 2012, 13:38

Yandex Maps 2.0

Chrome 19


Warnings:


Resource interpreted as Script but transferred with MIME type text/plain: "http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU".


Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://api-maps.yandex.ru/2.0.9/images/ef50ac9e93aaebe3299791c79f277f8e".

Resource interpreted as Image but transferred with MIME type application/octet-stream: "http://api-maps.yandex.ru/2.0.9/images/325472601571f31e1bf00674c368d335".

11 комментариев
Подписаться на комментарии к посту

http://www.ietf.org/rfc/rfc2045.txt раздел 5

application/octet-stream и text/plain являются правильными Content-Type для бинарных и текстовых данных соответственно.

Если Вам не нравятся подобные сообщения в логе Хрома - напишите в багтрекер Хромиума: http://code.google.com/p/chromium/issues/entry

Какой отсюда вывод?

Логутов Михаил Михайлович
6 июня 2012, 21:29

Сервер должен отдавать javascript файлы с MIME типом application/javascript.

Если он отдаёт просто текстовый контент, который нельзя отнести к javascript или другим известным медиа/app типам - тогда можно отдавать text/plain.

В данном случае следует отдавать именно application/javascript.


Аналогично с картинками.


Проще говоря, медиа тип следует отдавать наиболее точно описывающий выдаваемый контент. Если у разработчиков Яндекс Карт своё толкование стандартов, то я предлагаю им обратиться с пожеланиями по корректировке RFC в соответствующие организации, а пока что исправить чтобы было как у людей.

> Сервер должен отдавать javascript файлы с MIME типом application/javascript.

В каком стандарте написано, что сервер ДОЛЖЕН отдавать javascript файлы с таким MIME?

> Проще говоря, медиа тип следует отдавать наиболее точно описывающий выдаваемый контент.

Так СЛЕДУЕТ или ДОЛЖЕН?

> Если у разработчиков Яндекс Карт своё толкование стандартов, то я предлагаю им обратиться с пожеланиями по корректировке RFC в соответствующие организации, а пока что исправить чтобы было как у людей.

Не затруднит ли Вас указать конкретную цитату из стандарта, которую разработчики Яндекс.Карт трактуют неправильно?

Логутов Михаил Михайлович
7 июня 2012, 15:26

Затруднит. Это ваша работа (я подразумеваю, что вы работаете в яндексе). Читайте стандарт (я даже ссылку дал). Я дал вам баг репорт - ваше право на него забить (и пускай яндекс генерит warning-и в одном из самых популярных браузерах), либо написать в хром и доказывать им, что у них неправильно проверяются стандарты, либо всё-таки добавить одну строчку в код/конфиг и прекратить спорить.

Я читал этот стандарт. Моё понимание этого стандарта следующее: warning-и, которые пишет Хром в консоль, - это проблема Хрома.

Непонятно, почему её решать должны мы, а не Хром.

Поскольку функциональность собственно API эта проблема никак не затрагивает, вбивать костыли для её решения мы не будем.

Логутов Михаил Михайлович
7 июня 2012, 15:57

Ну так и напишете в хром. Не я (пользователь, который сообщил о неполадке) должен разбираться с этим и что-то тут кому-то доказывать. Если бы у меня в вызове скрипта была ошибка, тогда это другое дело. А тут от меня ничего не зависит, но получаю предупреждения от внедрения вашего скрипта именно я.

Проблема с хромом в этом месте странная, требует времени и непонятно, возможно ли ее вообще решить.

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

Потому что пользователи сайта предупреждения никогда не увидят. А фишечку новую оценят.

 

Тем временем, уже 2015 год, а проблема с warning'ом до сих пор актуальна

А как же Yandex браузер? Тоже ядро, те же предупреждения.