Apa perbedaan antara header ini?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
Mana yang terbaik dan mengapa?
Tolong jangan katakan mereka identik - jika mereka identik tidak akan ada tiga dari mereka. Saya tahu keduanya bekerja - tetapi saya ingin tahu bedanya.
javascript
http-headers
content-type
Obmerk Kronen
sumber
sumber
script
tagtype
ketikanosniff
direktif ditentukan. developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…Jawaban:
text/javascript
sudah usang, danapplication/x-javascript
bersifat eksperimental (karenanyax-
awalan) untuk periode transisi sampaiapplication/javascript
dapat distandarisasi.Anda harus menggunakan
application/javascript
. Ini didokumentasikan dalam RFC .Sejauh menyangkut browser, tidak ada perbedaan (setidaknya dalam header HTTP). Ini hanya perubahan sehingga kelompok tipe
text/*
danapplication/*
MIME memiliki makna yang konsisten jika memungkinkan. (text/*
Jenis MIME dimaksudkan untuk konten yang dapat dibaca manusia, JavaScript tidak dirancang untuk secara langsung menyampaikan makna kepada manusia).Perhatikan bahwa menggunakan
application/javascript
dalamtype
atribut dari elemen script akan menyebabkan script untuk diabaikan (sebagai dalam bahasa yang tidak dikenal) di beberapa browser lama. Baik terus digunakantext/javascript
sana atau hilangkan atribut seluruhnya (yang diizinkan dalam HTML 5).Ini bukan masalah di header HTTP karena browser secara universal (sejauh yang saya ketahui) mengabaikan jenis konten HTTP sepenuhnya dari skrip, atau cukup modern untuk dikenali
application/javascript
.sumber
type
atribut pada<script>
elemen. Anda tidak dapat menghilangkanContent-Type
header HTTP ... ever (jika Anda tidak menentukannya dalam PHP maka PHP akan defaulttext/html
yang sangat salah).text/javascript
sudah usang danapplication/x-javascript
eksperimental). Lebih buruk lagi, itu meninggalkan awal jawaban yang tidak jelas, dengan blok mengatakantext/javascript
hanya nongkrong di bagian atas jawaban tanpa alasan yang jelas.@echo off
for /r . %%X in (*.js) do (
svn propset svn:mime-type text/javascript "%%X"
)
yang ketika dijalankan, akan mengubah tipe mime dari semua file JS di repositori Anda menjadi teks / javascript. Anda kemudian harus mengkomit file JS ke SVN dengan tipe mime baru.tipe mime yang dimulai dengan
x-
tidak distandarisasi. Dalam kasus javascript agak ketinggalan jaman. Tambahkan potongan kode keduamembutuhkan
short_open_tags
harus diaktifkan. kamu harus menghindarinya.Namun, tipe mime yang sepenuhnya benar untuk javascript adalah
http://www.iana.org/assignments/media-types/application/index.html
sumber
Menurut RFC 4329, tipe MIME yang benar untuk JavaScript seharusnya
application/javascript
. Namun, versi IE yang lebih lama tersedak ini karena mereka harapkantext/javascript
.sumber
type
dikatakan atribut HTML (dan dalam konsep HTML 5 atribut tersebut dapat dihilangkan untuk JavaScript).Gunakan type = "application / javascript"
Dalam hal HTML5, atribut type sudah usang, Anda dapat menghapusnya. Catatan: defaultnya adalah "text / javascript" menurut w3.org, jadi saya sarankan untuk menambahkan "application / javascript" daripada menghapusnya.
Gunakan "aplikasi / javascript", karena "teks / javascript" sudah usang :
x-javascript bersifat eksperimental, jangan gunakan itu.
sumber