Untuk mempelajari tipe konten, Anda harus tahu terlebih dahulu apa itu dan untuk apa itu.
HTTP Protocol (RFC2616) mengadopsi model permintaan/respons. Klien mengirimkan permintaan ke server, dan header permintaan berisi metode yang diminta, URI, versi protokol, dan struktur pesan seperti MIME yang berisi pengubah permintaan, informasi klien, dan konten. Server merespons dengan baris status, dan konten yang sesuai mencakup versi protokol pesan, penyandian keberhasilan atau kesalahan ditambah informasi server, informasi meta entitas, dan kemungkinan konten entitas.
Biasanya pesan HTTP terdiri dari garis start, satu atau lebih bidang header, garis kosong yang diakhiri dengan bidang header dan badan pesan opsional. Bidang header HTTP mencakup empat bagian: header umum, header permintaan, header respons dan header entitas. Setiap bidang header terdiri dari tiga bagian: nama domain, usus besar (:) dan nilai domain. Nama domain tidak tergantung pada kasus, sejumlah karakter ruang dapat ditambahkan sebelum nilai domain, dan bidang header dapat diperluas ke beberapa baris, menggunakan setidaknya satu karakter ruang atau tab di awal setiap baris.
Baik pesan permintaan dan pesan respons dapat berisi informasi entitas, yang umumnya terdiri dari bidang header entitas dan entitas. Bidang header entitas berisi informasi asli tentang entitas. Header entitas termasuk mengizinkan, basis konten, pengkodean konten, bahasa konten, konten-panjang, lokasi konten, konten-MD5, rentang konten, tipe konten, ETAG, kedaluwarsa, modifikasi terakhir, dan ekstensi-header.
Tipe konten adalah konten yang sangat penting dalam pesan pengembalian, yang menunjukkan tipe MIME apa yang dimiliki dokumen berikutnya. Tipe konten: [type]/[subtipe]; parameter. Misalnya, yang paling umum adalah teks/html, yang berarti bahwa konten yang dikembalikan adalah tipe teks, dan teksnya dalam format HTML. Pada prinsipnya, browser akan memutuskan bagaimana menampilkan konten badan pesan yang dikembalikan berdasarkan tipe konten.
Jenis memiliki formulir berikutTeks: Informasi teks untuk representasi standar, pesan teks mungkin dari beberapa set karakter dan atau dalam berbagai format;
Multipart: Digunakan untuk menghubungkan beberapa bagian dari badan pesan untuk membentuk pesan, dan bagian -bagian ini dapat berupa berbagai jenis data;
Aplikasi: Digunakan untuk mengirimkan data aplikasi atau data biner;
Pesan: Digunakan untuk membungkus pesan email;
Gambar: Digunakan untuk mengirimkan data gambar statis;
Audio: Digunakan untuk mengirimkan data audio atau audio;
Video: Digunakan untuk mengirimkan data gambar dinamis, yang dapat berupa format data video yang diedit dengan audio.
Subtipe digunakan untuk menentukan bentuk rinci dari jenis. Himpunan pasangan tipe konten/subtipe dan parameter yang terkait dengan ini akan tumbuh seiring waktu. Untuk memastikan bahwa nilai -nilai ini dikembangkan dalam keadaan publik dan publik, MIME menggunakan Otoritas Angka yang Ditugaskan Internet (IANA) sebagai mekanisme pendaftaran pusat untuk mengelola nilai -nilai ini.
Parameter dapat digunakan untuk menentukan informasi tambahan, dan dalam lebih banyak kasus ini adalah parameter charset yang digunakan untuk menentukan metode pengkodean teks seperti teks/polos dan teks/htm. Mime telah mengatur subtipe default berdasarkan jenisnya. Ketika klien tidak dapat menentukan subtipe pesan, pesan diperlakukan sebagai subtipe default untuk diproses. Teks adalah teks/polos secara default, aplikasi adalah aplikasi/oktet-stream secara default, dan multipart dianggap sebagai multipart/dicampur secara default. Untuk browser IE6, jika jenis dalam tipe konten tidak konsisten dengan jenis tubuh pesan yang sebenarnya, itu akan menganalisis jenis apa yang harus didasarkan pada jenis dalam konten, dan dapat dengan benar mengidentifikasi format gambar umum seperti JPG dan GIF, terlepas dari apa yang ditulis dalam tipe konten.
Jika jenis yang ditentukan dalam tipe konten adalah jenis yang dapat dibuka oleh browser secara langsung, maka browser akan membuka kontennya dan menampilkannya. Jika itu adalah jenis yang terkait dengan aplikasi lain, Anda perlu mencari status pendaftaran jenis ini di registri. Jika diizinkan untuk membuka langsung tanpa bertanya, aplikasi yang terkait akan dipanggil untuk membuka file, tetapi jika tidak diizinkan untuk membuka langsung, Anda akan bertanya apakah akan membukanya. Untuk jenis yang tidak terkait dengan aplikasi apa pun, IE Browser tidak tahu bagaimana harus dibuka, dan IE6 akan mencoba membukanya sebagai XML.
Jika Anda ingin menerapkan unduhan file, Anda dapat menambahkannya di header http:fprintf (file, disposisi konten: lampiran; fileName =/%s//r/n, nama file);
Setelah pengujian, HTML, PDF, GIF, dan file lain yang dibuka di halaman web dapat diunduh secara normal.
'HQX' => 'Aplikasi/Mac-BinHex40',
'CPT' => 'Aplikasi/Mac-CompactPro',
'Doc' => 'Aplikasi/Msword',
'bin' => 'Aplikasi/Octet-Stream',
'DMS' => 'Aplikasi/Octet-Stream',
'LHA' => 'Aplikasi/Octet-Stream',
'LZH' => 'Aplikasi/Octet-Stream',
'exe' => 'Aplikasi/Octet-Stream',
'class' => 'Application/Octet-stream',
'Jadi' => 'Aplikasi/Octet-Stream',
'dll' => 'Aplikasi/Octet-Stream',
'oda' => 'Application/Oda',
'PDF' => 'Aplikasi/PDF',
'ai' => 'aplikasi/postscript',
'EPS' => 'Aplikasi/Postscript',
'PS' => 'Aplikasi/Postscript',
'SMI' => 'Application/Smil',
'Smil' => 'Application/Smil',
'mif' => 'application/vnd.mif',
'xls' => 'Application/vnd.ms-excel',
'ppt' => 'Application/vnd.ms-powerpoint',
'wbxml' => 'application/vnd.wap.wbxml',
'wmlc' => 'application/vnd.wap.wmlc',
'wmlsc' => 'Application/vnd.wap.wmlscriptc',
'bcpio' => 'aplikasi/x-bcpio',
'vcd' => 'Application/X-Cdlink',
'PGN' => 'Application/x-chess-pGN',
'cpio' => 'aplikasi/x-cpio',
'csh' => 'aplikasi/x-csh',
'DCR' => 'Aplikasi/X-Direktur',
'Dir' => 'Application/X-Director',
'DXR' => 'Aplikasi/X-Direktur',
'dvi' => 'aplikasi/x-dvi',
'spl' => 'Application/X-FuturesPlash',
'gtar' => 'aplikasi/x-gtar',
'hdf' => 'aplikasi/x-hdf',
'js' => 'Application/X-JavaScript',
'SKP' => 'Application/X-Koan',
'SKD' => 'Application/X-Koan',
'Skt' => 'Application/X-Koan',
'skm' => 'aplikasi/x-koan',
'latex' => 'aplikasi/x-latex',
'nc' => 'Application/x-netcdf',
'CDF' => 'Aplikasi/X-Netcdf',
'sh' => 'application/x-sh',
'shar' => 'application/x-shar',
'SWF' => 'Aplikasi/X-Shockwave-Flash',
'Sit' => 'Application/x-stuffit',
'sv4cpio' => 'aplikasi/x-sv4cpio',
'sv4crc' => 'Application/X-Sv4crc',
'Tar' => 'Aplikasi/X-tar',
'tcl' => 'Application/X-tcl',
'Tex' => 'Application/X-Tex',
'TexInfo' => 'Application/X-TexInfo',
'Texi' => 'Application/X-TexInfo',
'T' => 'Aplikasi/X-Troff',
'TR' => 'Aplikasi/X-Troff',
'roff' => 'aplikasi/x-troff',
'Man' => 'Application/X-Troff-Man',
'Me' => 'Application/X-Troff-Me',
'ms' => 'Application/X-Troff-MS',
'Usstar' => 'Application/X-Usstar',
'SRC' => 'Aplikasi/X-Wais-Source',
'xhtml' => 'Application/xhtml+xml',
'xht' => 'Application/xhtml+xml',
'zip' => 'aplikasi/zip',
'au' => 'audio/dasar',
'snd' => 'audio/basic',
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'kar' => 'audio/midi',
'mpga' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
'aif' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'm3u' => 'audio/x-mpegurl',
'ram' => 'audio/x-pn-realaudio',
'rm' => 'audio/x-pn-realaudio',
'rpm' => 'audio/x-pn-realaudio-plugin',
'ra' => 'audio/x-realaudio',
'wav' => 'audio/x-wav',
'PDB' => 'Chemical/X-Pdb',
'xyz' => 'chemical/x-xyz',
'bmp' => 'gambar/bmp',
'gif' => 'gambar/gif',
'IEF' => 'Image/IEF',
'jpeg' => 'gambar/jpeg',
'jpg' => 'gambar/jpeg',
'jpe' => 'gambar/jpeg',
'png' => 'gambar/png',
'tiff' => 'gambar/tiff',
'tif' => 'gambar/tiff',
'djvu' => 'gambar/vnd.djvu',
'djv' => 'gambar/vnd.djvu',
'wbmp' => 'image/vnd.wap.wbmp',
'Ras' => 'Image/X-Cmu-Raster',
'pnm' => 'gambar/x-portable-anymap',
'pbm' => 'gambar/x-portable-bitmap',
'pgm' => 'gambar/x-portable-graymap',
'ppm' => 'gambar/x-portable-pixmap',
'rgb' => 'gambar/x-rgb',
'xbm' => 'gambar/x-xbitmap',
'xpm' => 'gambar/x-xpixmap',
'xwd' => 'gambar/x-xwindowdump',
'igs' => 'model/iges',
'Iges' => 'model/iges',
'msh' => 'model/mesh',
'mesh' => 'model/mesh',
'silo' => 'model/mesh',
'wrl' => 'model/vrml',
'vrml' => 'model/vrml',
'css' => 'teks/css',
'html' => 'text/html',
'htm' => 'text/html',
'ASC' => 'teks/polos',
'txt' => 'teks/polos',
'rtx' => 'text/richtext',
'rtf' => 'text/rtf',
'sgml' => 'text/sgml',
'sgm' => 'text/sgml',
'TSV' => 'Teks/nilai-terpisah Tab',
'wml' => 'text/vnd.wap.wml',
'wmls' => 'text/vnd.wap.wmlscript',
'etx' => 'Text/X-Setext',
'xsl' => 'teks/xml',
'xml' => 'teks/xml',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpe' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
'mxu' => 'video/vnd.mpegurl',
'avi' => 'video/x-msvideo',
'film' => 'video/x-sgi-film',
'ICE' => 'X-Conference/X-CoolTalk',