У теорії, в відповідно до RFC 4329 , application/javascript.
Причина, якою це повинно бути application, не має нічого спільного з тим, чи є тип читабельним чи виконуваним. Це тому, що існують спеціальні механізми визначення діаграм, встановлені самим мовою / типом, а не просто загальним charsetпараметром. Підтип textповинен бути здатний перекодувати проксі-сервер до іншого шаблону, змінивши параметр charset. Це неправда JavaScript, тому що:
а. RFC говорить, що користувачеві агенти повинні робити BOM-нюхати сценарій для визначення типу (я не впевнений, чи якісь браузери насправді роблять це)
б. браузери використовують іншу інформацію - включаючи кодування сторінки та атрибут - у деяких браузерах script charset- для визначення шаблону. Отже, будь-який проксі, який намагався перекодувати ресурс, зламав би його користувачів. (Звичайно, насправді ніхто ніколи не використовує перекодування проксі, але це був намір.)
Тому точні байти файлу повинні зберігатися точно , що робить його бінарним applicationтипом, а не технічно заснованим на символах text.
З цієї ж причини application/xmlофіційно віддано перевагу над text/xml: XML має власні механізми сигналізації в діапазоні діапазонів. І всі ігнорують applicationXML.
text/javascriptі це text/xmlможе бути не офіційною правильною річчю, але є те, що кожен сьогодні використовує з міркувань сумісності, а причини, чому вони не є правильними, практично абсолютно не важливі.