Secara teori, menurut RFC 4329 , application/javascript.
Alasannya seharusnya applicationtidak ada hubungannya dengan apakah jenisnya dapat dibaca atau dieksekusi. Itu karena ada mekanisme penentuan charset khusus yang ditetapkan oleh bahasa / jenis itu sendiri, bukan hanya charsetparameter generik . Subtipe textharus dapat ditranskodekan oleh proxy ke charset lain, mengubah parameter charset. Ini tidak benar dari JavaScript karena:
Sebuah. RFC mengatakan agen pengguna harus melakukan BOM-sniffing pada skrip untuk menentukan tipe (saya tidak yakin apakah ada browser yang melakukan ini);
b. browser menggunakan informasi lain — penyandian halaman yang disertakan dan pada beberapa browser script charsetatributnya — untuk menentukan charset. Jadi setiap proksi yang mencoba transcode sumber daya akan merusak penggunanya. (Tentu saja dalam kenyataannya tidak ada yang pernah menggunakan proxy transcoding, tapi itu maksudnya.)
Oleh karena itu byte file yang tepat harus dipertahankan dengan tepat , yang membuatnya menjadi applicationtipe biner dan tidak berbasis karakter secara teknis text.
Untuk alasan yang sama, application/xmlsecara resmi lebih disukai daripada text/xml: XML memiliki mekanisme pensinyalan charset in-band sendiri. Dan semua orang mengabaikan applicationXML juga.
text/javascriptdan text/xmlmungkin bukan Hal yang Resmi resmi, tetapi ada apa yang semua orang gunakan saat ini untuk alasan kompatibilitas, dan alasan mengapa mereka bukan hal yang benar secara praktis sama sekali tidak penting.