Was ist der Unterschied zwischen diesen Headern?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
Welches ist das Beste und warum?
Bitte sagen Sie nicht, dass sie identisch sind - wenn sie identisch wären, wären es nicht drei gewesen. Ich kenne beide Arbeiten - aber ich würde gerne den Unterschied wissen.
javascript
http-headers
content-type
Obmerk Kronen
quelle
quelle
script
dastype
Attribut eines Tags zulassen sollte, wenn dienosniff
Direktive angegeben wird. developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…Antworten:
text/javascript
ist veraltet undapplication/x-javascript
warx-
für eine Übergangszeit experimentell (daher das Präfix), bisapplication/javascript
es standardisiert werden konnte.Sie sollten verwenden
application/javascript
. Dies ist im RFC dokumentiert .In Bezug auf Browser gibt es keinen Unterschied (zumindest bei HTTP-Headern). Dies war nur eine Änderung, sodass die Gruppen
text/*
undapplication/*
MIME-Typgruppen nach Möglichkeit eine einheitliche Bedeutung hatten. (text/*
MIME-Typen sind für von Menschen lesbare Inhalte gedacht. JavaScript wurde nicht entwickelt, um Menschen direkt Bedeutung zu vermitteln.)Beachten Sie, dass die Verwendung
application/javascript
destype
Attributs eines Skriptelements dazu führt, dass das Skript in einigen älteren Browsern ignoriert wird (da es in einer unbekannten Sprache vorliegt). Verwenden Sietext/javascript
dort entweder weiter oder lassen Sie das Attribut vollständig weg (was in HTML 5 zulässig ist).Dies ist in HTTP-Headern kein Problem, da Browser allgemein (soweit mir bekannt ist) entweder den HTTP-Inhaltstyp von Skripten vollständig ignorieren oder modern genug sind, um erkannt zu werden
application/javascript
.quelle
type
Attribut für ein<script>
Element weglassen . Sie können denContent-Type
HTTP-Header niemals weglassen (wenn Sie ihn nicht in PHP angeben, wird PHP standardmäßig verwendet,text/html
was sehr falsch ist).text/javascript
veraltet undapplication/x-javascript
experimentell ist). Schlimmer noch, der Anfang der Antwort blieb inkohärent, und ein Block mit der Aufschrift "text/javascript
Irrlicht" hängt ohne ersichtlichen Grund irrelevant oben in der Antwort.@echo off
for /r . %%X in (*.js) do (
svn propset svn:mime-type text/javascript "%%X"
)
Bei Ausführung wird der MIME-Typ aller JS-Dateien in Ihrem Repository in Text / Javascript geändert. Anschließend müssen Sie die JS-Dateien mit dem neuen MIME-Typ an SVN übergeben.MIME-Typen, die mit beginnen,
x-
sind nicht standardisiert. Im Falle von Javascript ist es irgendwie veraltet. Zusätzlich das zweite Code-Snippetmuss
short_open_tags
aktiviert sein. du solltest es vermeiden.Der völlig korrekte MIME-Typ für Javascript ist jedoch
http://www.iana.org/assignments/media-types/application/index.html
quelle
Gemäß RFC 4329 sollte der richtige MIME-Typ für JavaScript sein
application/javascript
. Ältere IE-Versionen verschlucken sich jedoch daran, da sie dies erwartentext/javascript
.quelle
type
Attribut sagt (und in den HTML 5-Entwürfen kann dieses Attribut für JavaScript weggelassen werden).Verwenden Sie type = "application / javascript"
Im Fall von HTML5 ist das Typattribut veraltet. Sie können es entfernen. Hinweis: Laut w3.org wird standardmäßig "text / javascript" verwendet. Daher würde ich vorschlagen, "application / javascript" hinzuzufügen, anstatt es zu entfernen.
Verwenden Sie "application / javascript", da "text / javascript" veraltet ist :
x-javascript ist experimentell, benutze es nicht.
quelle