text/javascript
устарел, а application/x-javascript
был экспериментальным (следовательно, префикс x-
) в течение переходного периода, пока application/javascript
не может быть стандартизирован.
Вы должны использовать application/javascript
. Это задокументировано в RFC .
Что касается браузеров, то здесь нет разницы (по крайней мере, в заголовках HTTP). Это было просто изменение, так что группы типов text/*
и application/*
MIME имели постоянное значение, где это возможно. (text/*
MIME-типы предназначены для читабельного контента, JavaScript не предназначен для прямой передачи смысла людям).
Обратите внимание, что использование application/javascript
в атрибуте type
элемента script приведет к игнорированию сценария (как на неизвестном языке) в некоторых старых браузерах. Либо продолжайте использовать text/javascript
там, либо полностью пропустите атрибут (что разрешено в HTML 5).
Это не проблема для заголовков HTTP, поскольку браузеры повсеместно (насколько я знаю) либо полностью игнорируют сценарии типа содержимого HTTP, либо достаточно современны, чтобы распознавать application/javascript
.