Какой тип MIME следует использовать для файлов исходной карты JavaScript?

Я хочу добавить исходные карты на свой сайт, но я хотел бы контролировать, как они подаются. Какой тип MIME подходит для них?

Некоторые данные

  • Сам контент представляет собой JavaScript, но не предназначен для выполнения как таковой.
  • CDN.js обслуживает http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.map с Content-Type: application/octet-stream.
  • Google обслуживает http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.map с Content-Type: application/json
  • В спецификации исходных карт указано, что карты должны начинаться с )]}, чтобы предотвратить их оценку как настоящий JavaScript (и, таким образом, раскрытие атак межсайтового скриптинга). Это делает файл недействительным JSON и действительным, но неработоспособным JavaScript.

person James A. Rosen    schedule 11.11.2013    source источник
comment
Я не знаю, есть ли еще стандарт. Моя интуиция подсказала бы использовать что-то вроде application/x-source-map.   -  person zzzzBov    schedule 11.11.2013


Ответы (1)


application/json — лучший тип mime для файлов исходной карты.

application/octet-stream может хорошо работать с инструментами разработки браузера, однако этот MIME-тип является сигналом для браузеров начать загрузку. Это может вызвать проблемы для таких инструментов, как инструменты анализа производительности или отслеживание исключений JS, которые пытаются разобраться в исходных картах.

person Paul Irish    schedule 11.11.2013
comment
ХОРОШО. На самом деле я надеялся на что-то более конкретное, чтобы я мог написать правило nginx, которое блокировало бы доступ по типу MIME. Думаю, я могу сопоставить путь и убедиться, что все исходные карты заканчиваются на .js.map. - person James A. Rosen; 11.11.2013
comment
@JamesA.Rosen, вот что я сделал в Nginx: types { application/json map; }. Просто обновите конфигурацию типов пантомимы, и расширение будет .map. - person Paul Redmond; 27.04.2016