Sebagaimana didefinisikan dalam RFC 1341 :
Dalam notasi BNF Diperpanjang dari RFC 822, nilai bidang header Tipe Konten didefinisikan sebagai berikut:
Tipe-Konten: = tipe "/" subtipe * [";" parameter]
ketik: = "aplikasi" / "audio" / "gambar" / "pesan" / "multipart" / "teks" / "video" / x-token
x-token: = <Dua karakter "X-" diikuti, tanpa spasi putih, dengan token apa pun>
subtipe: = token
parameter: = atribut "=" nilai
atribut: = token
nilai: = token / quotes-string
token: = 1 *
tspecials: = "(" / ")" / "<" / ">" / "@"; Harus dalam / "," / ";" / ":" / "\" / <">; Dikutip-string, /" / "/" ["/"] "/"? "/". "; untuk digunakan dalam /" = "; nilai parameter
Dan daftar tipe MIME yang dikenal yang dapat mengikutinya (atau, seperti yang dikatakan Joe, sumber IANA ).
Seperti yang Anda lihat daftar itu terlalu besar bagi Anda untuk memvalidasi terhadap mereka semua. Apa yang dapat Anda lakukan adalah memvalidasi terhadap format umum dan type
atribut untuk memastikan itu benar (sekumpulan opsi kecil) dan anggap saja apa yang mengikutinya benar (dan tentu saja menangkap setiap pengecualian yang mungkin Anda temui ketika Anda meletakkannya). untuk penggunaan aktual).
Perhatikan juga komentar di atas:
Jika jenis utama lain digunakan untuk alasan apa pun, itu harus diberi nama yang dimulai dengan "X-" untuk menunjukkan statusnya yang tidak standar dan untuk menghindari kemungkinan konflik dengan nama resmi di masa depan.
Anda akan melihat bahwa banyak permintaan / tanggapan HTTP menyertakan X-
tajuk jenis yang ditentukan sendiri, ingatlah ini ketika memvalidasi jenisnya.