En théorie, selon RFC 4329 , application/javascript
.
La raison pour laquelle il est censé être application
n'a rien à voir avec le fait que le type soit lisible ou exécutable. C'est parce qu'il existe des mécanismes personnalisés de détermination du jeu de caractères établis par le langage/type lui-même, plutôt que par le mécanisme générique de l charset
paramètre. Un sous-type de text
doit pouvoir être transcodé par un proxy vers un autre charset, en modifiant le paramètre charset. Ce n'est pas le cas de JavaScript car :
a. le RFC dit que les agents utilisateurs devraient faire du BOM-sniffing sur le script pour déterminer le type (je ne suis pas sûr que les navigateurs le fassent réellement) ;
b. les navigateurs utilisent d'autres informations - y compris l'encodage de la page et l'in certains navigateurs le script charset
pour déterminer le jeu de caractères. Ainsi, tout proxy qui tenterait de transcoder la ressource mettrait ses utilisateurs hors d'état de nuire. (Bien sûr, en réalité, personne n'utilise jamais de proxy de transcodage, mais c'était l'intention).
Les octets exacts du fichier doivent donc être conservés exactement , ce qui en fait un système binaire application
et non techniquement basé sur des caractères text
.
Pour la même raison, application/xml
est officiellement préféré à text/xml
: XML dispose de ses propres mécanismes de signalisation de jeu de caractères en bande. Et tout le monde ignore application
pour XML également.
text/javascript
y text/xml
ne sont peut-être pas la bonne solution officielle, mais ils sont ce que tout le monde utilise aujourd'hui pour des raisons de compatibilité, et les raisons pour lesquelles ils ne sont pas la bonne solution sont pratiquement sans importance.
0 votes
Doublon/explication possible : stackoverflow.com/questions/876561/
0 votes
Voir aussi stackoverflow.com/questions/2325571/
0 votes
Duplication possible de Qu'est-ce que le type MIME Javascript ? Que doit contenir l'attribut type d'une balise script ?
0 votes
Duplicata possible de Lorsque vous servez des fichiers JavaScript, est-il préférable d'utiliser l'option application/javascript ou application/x-javascript ?