MIME的英文全稱是"Multipurpose Internet Mail Extensions" 多功能Internet 郵件擴充服務,它是壹種多用途網際郵件擴充協議,在1992年最早應用於電子郵件系統,但後來也應用到瀏覽器。服務器會將它們發送的多媒體數據的類型告訴瀏覽器,而通知手段就是說明該多媒體數據的MIME類型,從而讓瀏覽器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服務器將MIME標誌符放入傳送的數據中來告訴瀏覽器使用哪種插件讀取相關文件。
MIME能夠支持非ASCII字符、二進制格式附件等多種格式的郵件消息。這個標準被定義在; RFC 2045,; RFC 2046,; RFC 2047,; RFC 2048,; RFC 2049等RFC中。 由RFC 822轉變而來的RFC 2822,規定電子郵件標準並不允許在郵件消息中使用7位ASCII字符集以外的字符。正因如此,壹些非英語字符消息和二進制文件,圖像,聲音等非文字消息都不能在電子郵件中傳輸。MIME規定了用於表示各種各樣的數據類型的符號化方法。
瀏覽器接收到文件後,會進入插件系統進行查找,查找出哪種插件可以識別讀取接收到的文件。如果瀏覽器不清楚調用哪種插件系統,它可能會告訴用戶缺少某插件,或者直接選擇某現有插件來試圖讀取接收到的文件,後者可能會導致系統的崩潰。傳輸的信息中缺少MIME標識可能導致的情況很難估計,因為某些計算機系統可能不會出現什麽故障,但某些計算機可能就會因此而崩潰。
檢查壹個服務器是否正確設置了MIME類型的步驟是:
1. 在Netscape瀏覽器中打開服務器網頁
2. 進入"View"菜單,選擇"Page Info"
3. 在彈出的窗口中點擊上層框架中的"EMBED"
4. 在下層框架中查看MIME的類型是否為"application/x-director"或"application/x-shockwave-flash",如果是上述信息的話表明服務器已經正確設置了MIME類型;而如果MIME類型列出的是文本內容、八位壹組的數據或是其它形式均表明服務器的MIME類型沒有設置正確。
如果服務器沒有正確標明其發送的數據的類型,服務器管理員應該正確添加相關信息,具體操作方法非常簡單快捷。
Microsoft公司應用於Windows系統下的瀏覽器使用ActiveX控件,而不是Netscape插件,這種瀏覽器不必象其它瀏覽器那樣依靠MIME的編碼。"OBJECT"標簽的"CLSID"屬性準確地標明了應調用哪種程序來讀取接收到的文件,因此瀏覽器不必象"EMBED"標簽那樣選擇壹種讀取程序。正因為如此,妳往往會在使用帶插件的瀏覽器時遇到MIME問題,而使用ActiveX控件的瀏覽器則很少出現此類麻煩。
正由於上述工作方式的差別也解釋了壹種現象,不知妳是否發現在使用Netscape瀏覽器播放WAV文件時,瀏覽器會調用LiveConnect插件進行播放,而其它瀏覽器壹般都使用通用的QuickTime的播放插件等來進行播放,這是因為Netscape瀏覽器接收文件需要讀取MIME標識符,以便決定調用哪種程序來讀取接收的文件,而服務器設置在Netscape瀏覽器中播放WAV文件應使用LiveConnect插件,因此Netscape瀏覽器接收到WAV格式的文件時必然就會調用LiveConnect插件,但由於其它瀏覽器不使用這種方式,因此它們都使用系統默認的播放WAV格式文件的播放器。當然Flash電影文件並不存在這種問題,因為只有Flash播放器才能夠正確讀取這種格式的文件。
在把輸出結果傳送到瀏覽器上的時候,瀏覽器必須啟動適當的應用程序來處理這個輸出文檔。這可以通過多種類型MIME(多功能網際郵件擴充協議)來完成。在HTTP中,MIME類型被定義在Content-Type header中。
例如,假設妳要傳送壹個Microsoft Excel文件到客戶端。那麽這時的MIME類型就是“application/vnd.ms-excel”。在大多數實際情況中,這個文件然後將傳送給Execl來處理(假設我們設定Execl為處理特殊MIME類型的應用程序)。在ASP中,設定MIME類型的方法是通過Response對象的ContentType屬性。