В теории, согласно RFC 4329, application/javascript
.
Причина, по которой это должно быть application
, не имеет никакого отношения к тому, является ли тип читаемым или исполняемым. Это потому, что существуют собственные механизмы определения набора символов, установленные самим языком/типом, а не только общий параметр charset
. Подтип text
должен быть перекодирован прокси на другую кодировку, изменяя параметр charset. Это не относится к JavaScript, поскольку:
a. RFC говорит, что пользовательские агенты должны выполнять BOM-sniffing на скрипте, чтобы определить тип (я не уверен, действительно ли какие-либо браузеры делают это);
b. браузеры используют другую информацию - кодировку с включенной страницей, а в - некоторые - браузер определяет атрибут script charset
- для определения кодировки. Таким образом, любой прокси-сервер, который пытался перекодировать ресурс, нарушил бы его пользователей. (Конечно, в действительности никто никогда не использует транскодирование проксите в любом случае, но это намерение.)
Поэтому точные байты файла должны быть сохранены точно, что делает его двоичный application
типа и технически не характер на основе text
.
По этой же причине application/xml
является официальным преимуществом по сравнению с text/xml
: у XML есть свои внутриполосные сигнальные механизмы кодировки. И все игнорируют application
для XML.
text/javascript
и text/xml
не могут быть официальными Правильными Вещи, но есть все, что сегодня использует по соображениям совместимости, и причины, по которым они неправы, практически не имеют значения.
Возможный обман/объяснение: http://stackoverflow.com/questions/876561/when-serving-javascript-files-is-it-better-to-use-the-application-javascript-or – Benn
См. Также http: //stackoverflow.com/questions/2325571/for-http-responses-with-content-types-suggesting-character-data-which-charset-sh – Gumbo
Возможный дубликат [Что такое Javascript MIME Type? Что принадлежит атрибуту type тега скрипта?] (http://stackoverflow.com/questions/189850/what-is-the-javascript-mime-type-what-belongs-in-the-type-attribute-of-a-script) – Bergi