Multipurpose Internet Mail Extension
Multipurpose Internet Mail Extension (disingkat menjadi MIME atau mime), merujuk kepada protokol yang luas digunakan di dalam dunia Internet yang memperluas protokol SMTP (Simple Mail Transfer Protocol) (RFC 822) untuk mengizinkan beberapa data selain teks dengan pengodean ASCII, seperti video, suara, dan berkas biner, agar dapat ditransfer melalui e-mail tanpa harus mentranslasikan terlebih dahulu data-data tersebut ke dalam teks berformat ASCII. MIME merupakan bagian dari protokol HTTP, dan web browser dan server HTTP akan menggunakan MIME untuk menginterpretasikan berkas-berkas e-mail yang dikirimkan dan diterima.
Selayang pandang
Aslinya, sebuah pesan SMTP hanya boleh mengandung berkas teks saja yang dikodekan dengan menggunakan pengodean ASCII 7-bit saja. Berkas-berkas biner, seperti halnya program, dokumen pengolah kata, dan banyak lagi format lainnya, tidak dapat dikirimkan melalui SMTP. Dengan menggunakan Multipurpose Internet Mail Extension (MIME) yang didefinisikan di dalam RFC 1521, hal tersebut bukan lagi masalah. Meskipun demikian, protokol ini tidaklah dibuat untuk menggantikan protokol SMTP, tapi hanya memperluas pada dua bagian: "multipart message body" dan "non-ASCII message content".
MIME menambahkan dua jenis header SMTP tambahan, yakni sebagai berikut:
- Content-Type: menentukan jenis content yang dibawa oleh pesan-pesan SMTP.
- Content-Transfer-Encoding: menentukan metode apa yang digunakan untuk mengodekan pesan-pesan SMTP.
RFC 1521 menentukan tujuh buah jenis content dasar yang dapat dimasukkan ke dalam header Content-Type dalam pesan SMTP. Setiap jenis content dasar ini memiliki beberapa Content subtype yang menentukan informasi apa yang dibawa oleh pesan-pesan SMTP, yakni sebagai berikut:
- Text: yang menentukan bahwa pesan yang dibawa oleh protokol SMTP merupakan teks biasa saja (Text/plain), teks kaya (Text/richtext), Text/html, dan beberapa jenis lainnya.
- Application: yang menentukan bahwa pesan yang dibawa oleh protokol SMTP merupakan data biner. Beberapa jenis subtype untuk type ini adalah Application/octet-stream, Application/Postscript, Application/msword (dokumen Microsoft Word 97-2003) dan masih banyak lagi.
- Berkas: yang menentukan bahwa pesan yang dibawa oleh protokol SMTP adalah gambar. Beberapa jenis subtype untuk type ini adalah Image/gif, Image/jpg, Image/png, Image/tiff dan lain-lain.
- Audio: yang menentukan bahwa pesan yang dibawa oleh protokol SMTP adalah berkas audio.
- Video: yang menentukan bahwa pesan yang dibawa oleh protokol SMTP adalah berkas video.
- Message: Beberapa jenis subtype antara lain Message/rfc822 (pesan asli teks standar RFC 822), Message/HTTP (untuk lalu lintas HTTP), dan beberapa lainnya
- Multipart
RFC 1521 juga mendefinisikan metode pengodean data tambahan yang dapat ditentukan pada field Content-Transfer-Encoding dalam header SMTP, yakni:
- 7bit: pengodean yang digunakan adalah teks ASCII 7 bit, dengan batasan panjang hingga kurang dari 1000 karakter
- 8bit
- binary
- quoted-printable
- base64 (UUEncoded data)
- x-token