Quelle est la différence entre ces en-têtes?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
Laquelle est la meilleure et pourquoi?
Veuillez ne pas dire qu'ils sont identiques - s'ils étaient identiques, il n'y en aurait pas eu trois. Je sais que les deux fonctionnent - mais j'aimerais connaître la différence.
javascript
http-headers
content-type
Obmerk Kronen
la source
la source
script
l'type
attribut d' une balise lorsque lanosniff
directive est spécifiée. developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…Réponses:
text/javascript
est obsolète etapplication/x-javascript
était expérimental (d'où lex-
préfixe) pendant une période de transition jusqu'à ce qu'ilapplication/javascript
puisse être normalisé.Vous devez utiliser
application/javascript
. Ceci est documenté dans le RFC .En ce qui concerne les navigateurs, il n'y a pas de différence (au moins dans les en-têtes HTTP). C'était juste un changement pour que les groupes de types
text/*
etapplication/*
MIME aient une signification cohérente dans la mesure du possible. (Lestext/*
types MIME sont destinés à un contenu lisible par l'homme, JavaScript n'est pas conçu pour transmettre directement un sens aux humains).Notez que l'utilisation
application/javascript
de l'type
attribut d'un élément de script entraînera l'ignorance du script (comme étant dans une langue inconnue) dans certains navigateurs plus anciens. Vous pouvez soit continuer à l'utilisertext/javascript
, soit supprimer complètement l'attribut (ce qui est autorisé dans HTML 5).Ce n'est pas un problème dans les en-têtes HTTP, car les navigateurs universellement (à ma connaissance) ignorent complètement le type de contenu HTTP des scripts ou sont suffisamment modernes pour être reconnus
application/javascript
.la source
type
attribut sur un<script>
élément. Vous ne pouvez pas omettre l'Content-Type
en-tête HTTP… jamais (si vous ne le spécifiez pas en PHP, PHP sera par défauttext/html
ce qui est très faux).text/javascript
est obsolète etapplication/x-javascript
expérimentale). Pire encore, cela a laissé le début de la réponse incohérent, avec un bloc disanttext/javascript
simplement traîner sans pertinence en haut de la réponse sans raison évidente.@echo off
for /r . %%X in (*.js) do (
svn propset svn:mime-type text/javascript "%%X"
)
qui, une fois exécuté, changera le type mime de tous les fichiers JS de votre référentiel en texte / javascript. Vous devez ensuite valider les fichiers JS sur SVN avec le nouveau type MIME.les types mime commençant par
x-
ne sont pas standardisés. En cas de javascript, c'est un peu dépassé. Ajout du deuxième extrait de codenécessite
short_open_tags
d'être activé. vous devez l'éviter.Cependant, le type MIME complètement correct pour javascript est
http://www.iana.org/assignments/media-types/application/index.html
la source
Selon la RFC 4329, le type MIME correct pour JavaScript devrait être
application/javascript
. Cependant, les anciennes versions d'IE s'étouffent à ce sujet car elles s'y attendenttext/javascript
.la source
type
attribut HTML (et dans les brouillons HTML 5, cet attribut peut être omis pour JavaScript).Utilisez type = "application / javascript"
En cas de HTML5, l'attribut type est obsolète, vous pouvez le supprimer. Remarque: il est par défaut "text / javascript" selon w3.org, donc je suggère d'ajouter "application / javascript" au lieu de le supprimer.
Utilisez "application / javascript", car "text / javascript" est obsolète :
x-javascript est expérimental, ne l'utilisez pas.
la source