В чем разница между этими заголовками?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
Какой из них лучше и почему?
Пожалуйста, не говорите, что они идентичны - если бы они были идентичны, их бы не было трое. Я знаю обе работы - но я хотел бы знать разницу.
javascript
http-headers
content-type
Обмерк Кронен
источник
источник
script
тега,type
когдаnosniff
указана директива. developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…Ответы:
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
.источник
type
атрибут на<script>
элемент. Вы не можете опуститьContent-Type
HTTP-заголовок ... когда-либо (если вы не укажете его в PHP, PHP по умолчаниюtext/html
будет очень неправильным).text/javascript
оно устарело иapplication/x-javascript
является экспериментальным). Хуже того, начало ответа было бессвязным, а блок с надписьюtext/javascript
просто бесполезно зависал в верхней части ответа без видимой причины.@echo off
for /r . %%X in (*.js) do (
svn propset svn:mime-type text/javascript "%%X"
)
который при выполнении изменит тип mime всех файлов JS в вашем хранилище на text / javascript. Затем вам нужно отправить файлы JS в SVN с новым типом mime.mime-типы, начинающиеся с
x-
, не стандартизированы. В случае с Javascript он немного устарел. Дополнительный второй фрагмент кодатребует
short_open_tags
включения. вам следует избегать этого.Тем не менее, полностью правильный MIME-тип для JavaScript
http://www.iana.org/assignments/media-types/application/index.html
источник
В соответствии с RFC 4329 правильный тип MIME для JavaScript должен быть
application/javascript
. Однако более старые версии IE задыхаются от этого, так как они ожидаютtext/javascript
.источник
type
говорит атрибут HTML (а в черновиках HTML 5 этот атрибут может быть опущен для JavaScript).Используйте type = "application / javascript"
В случае HTML5 атрибут type устарел, вы можете удалить его. Обратите внимание: по умолчанию он имеет значение «text / javascript» в соответствии с w3.org, поэтому я бы предложил добавить «application / javascript» вместо его удаления.
Используйте «application / javascript», потому что «text / javascript» устарел :
x-javascript - экспериментальный, не используйте его.
источник