Text/javascript vs application/javascript
Мне интересна семантика MIME-типов application/javascript
по сравнению с text/javascript
.
Очевидно, что один должен быть выполнен, а другой должен быть просто текстовым.
Я вижу application/javascript
при просмотре заголовков внешней нагрузки .js.
HTTP/1.1 200 OK
Date: Mon, 13 Jan 2014 18:32:58 GMT
Server: Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/0.9.8e-fips-rhel5
Content-Type: application/javascript
Content-Length: 856
keep-alive: timeout=5, max=59
Via: 1.1 (jetty)
Accept-Ranges: bytes
Если этот application/javascript
выполнит javascript, почему бы нам не использовать
<script type="application/javascript">
// some js code.
</script>
И наоборот, почему внешний js-груз не text/javascript
?
Ответы
Ответ 1
В этом text/javascript
устарел. Вместо этого используйте application/javascript
.
text/javascript (Устаревший): JavaScript; Определено и устарело в RFC 4329, чтобы препятствовать его использованию в пользу приложение /JavaScript. Тем не менее, текст /javascript разрешен в HTML 4 и 5 и, в отличие от приложения /javascript, имеет поддержку кросс-браузера. Атрибут "type" тега в HTML5 является необязательным и нет необходимости использовать его вообще, поскольку все браузеры всегда предположил правильный по умолчанию (даже в HTML 4, где это требовалось спецификация).
Этот стандарт несовместим с IE <= 8.