国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

Data URI和MHTML完整解決所有瀏覽器

2019-10-26 17:24:51
字體:
來源:轉載
供稿:網友

Data URI

Data URI 是由 RFC 2397 定義的一種把小文件直接嵌入文檔的方案。通過如下語法就可以把小文件變成指定編碼直接嵌入到頁面中:

data:[<MIME-type>][;base64],<data>

    MIME-type:指定嵌入數據的 MIME。其形式是[type]/[subtype]; parameter,比如png圖片對應的MIME是image/png。parameter可以用來指定附加的信息,更多情況下是用于指定text/plain和text/htm等的文字編碼方式的charset參數。默認是text/plain;charset=US-ASCII。 base64:聲明后面的數據的編碼是base64的,否則數據必須要用百分號編碼(即對內容進行urlencode)。

    在上個世紀 HTML4.01引入了Data URI方案 ,到今天為止除了IE6和IE7之外,所有主流瀏覽器都支持,但IE8對Data URI的支持還是有限制的,只支持object(僅是圖片時)、img、input type=image、link和CSS中的URL,且數據量不能大于32K。

    優點:

      減少HTTP請求數,沒有了TCP連接消耗和同一域名下瀏覽器的并發數限制。 對于小文件會降低帶寬。雖然編碼后數據量會增加,但是卻減少了http頭,當http頭的數據量大于文件編碼的增量,那么就會降低帶寬。 對于HTTPS站點,HTTPS和HTTP混用會有安全提示,而HTTPS相對于HTTP來講開銷要大更多,所以Data URI在這方面的優勢更明顯。 可以把整個多媒體頁面保存為一個文件。

      缺點:

        無法被重復利用,同一個文檔應用多次同一個內容,則需要重復多次,數據量大量增加,增加了下載時間。 無法被獨自緩存,所以其包含文檔重新加載時,它也要重新加載。 客戶端需要重新解碼和顯示,增加了點消耗。 不支持數據壓縮,base64編碼會增加1/3大小,而urlencode后數據量會增加更多。 不利于安全軟件的過濾,同時也存在一定的安全隱患。

        MHTML

        MHTML是MIME HTML (Multipurpose Internet Mail Extension HTML)的縮寫,是由RFC 2557定義的把一個多媒體的頁面所有內容都保存到同一個文檔解決方案。這個方案是由微軟提出從IE5.0開始支持,另外Opera9.0也開始支持,Safari可以把文件保存為.mht(MHTML文件的后綴)格式,但不支持顯示它。

        MHTML和Data URI還比較類似,有更強大的功能和更復雜的語法,并且沒有Data URI中“無法被重復利用”的缺點,但MHTML使用起來不夠靈活方便,比如對資源引用的URL在mht文件中可以是相對地址,否則必須是絕對地址。hedger在《Cross Browser Base64 Encoded Images Embedded in HTML》針對IE的解決方案使用的是相對路徑就是因為聲明了Content-type:message/rfc822使IE按照MHTML來解析,如果不修改Content-type則需要使用MHTML協議,這個時候必須使用絕對路徑,如《MHTML – when you need data: URIs in IE7 and under》。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 清河县| 景德镇市| 扬州市| 桐乡市| 稻城县| 汝阳县| 孝义市| 通许县| 新乡县| 天峨县| 聂拉木县| 吉林省| 运城市| 浦城县| 秦皇岛市| 合作市| 屯门区| 长沙县| 宁国市| 连南| 开封县| 会宁县| 康乐县| 新民市| 大足县| 尉犁县| 百色市| 故城县| 腾冲县| 丁青县| 黑龙江省| 翁源县| 治多县| 远安县| 乐业县| 平谷区| 南陵县| 民丰县| 黔西| 嘉善县| 常山县|