html中MIME介绍及用途说明

 更新时间:2016年9月20日 18:58  点击:2430
MIME表示多用途Internet邮件扩允协议。多用途互联网邮件扩展类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。如mp3播放


媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过 Content-Type 来表示的,例如:

Content-Type: text/HTML


表示内容是 text/HTML 类型,也就是超文本文件。为什么是“text/HTML”而不是“HTML/text”或者别的什么?MIME Type 不是个人指定的,是经过 ietf 组织协商,以 RFC 的形式作为建议的标准发布在网上的,大多数的 Web 服务器和用户代理都会支持这个规范 (顺便说一句,Email 附件的类型也是通过 MIME Type 指定的)。

通常只有一些在互联网上获得广泛应用的格式才会获得一个 MIME Type,如果是某个客户端自己定义的格式,一般只能以 application/x- 开头。

XHTML 正是一个获得广泛应用的格式,因此,在 RFC 3236 中,说明了 XHTML 格式文件的 MIME Type 应该是 application/xHTML+XML。

当然,处理本地的文件,在没有人告诉浏览器某个文件的 MIME Type 的情况下,浏览器也会做一些默认的处理,这可能和你在操作系统中给文件配置的 MIME Type 有关。比如在 Windows 下,打开注册表的“HKEY_LOCAL_MACHINESOFTWAREClassesMIMEDatabaseContent Type”主键,你可以看到所有 MIME Type 的配置信息。

常见的MIME类型

超文本标记语言文本 .html,.html text/html
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
GIF图形 .gif image/gif
JPEG图形 .ipeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar

下面来看一个简单的Delphi判断当前系统版本的程序,希望此程序地各位同学会带来帮助。
 代码如下 复制代码
function GetWinVer: string;
var lpver:_OSVERSIONINFO;
begin
    //###########获取Win系统版本################
    lpver.dwOSVersionInfoSize:=SizeOf(_OSVERSIONINFO);
    //###########必须要分配内存#################
   if  GetVersionExA(lpver) then
   begin
     case lpver.dwPlatformId of
        0:
        Result:='Windows 32s';
        1:begin
          case lpver.dwMinorVersion of
             0:
             Result:='Windows 95';
             10:
             Result:='Windows 98';
             90:
             Result:='Windows Me';
          end;
        end;
        2:begin
          case lpver.dwMajorVersion of
              3:
              Result:='WindowsNT 3.51';
              4:
              Result:='WindowsNT 4.0';
              5:begin
                case lpver.dwMinorVersion of
                    0:
                    Result:='Windows 2000';
                    1:
                    Result:='Windows XP';
                    2:
                    Result:='Windows 2003';
                end;
              end;
              6:begin
                case lpver.dwMinorVersion of
                    0:
                    Result:='Windows Vista';
                    1:
                    Result:='Windows 7';
                    2:
                    Result:='Windows 8';
                end;
              end;
          end;
        end;
        else
        Result:='Not Windows';
     end;
   end;
end;

<embed width="480" height="338" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="dock=true&plugins=drelated-1&drelated.dxmlpath=relatedclips.xml&drelated.dposition=center&drelated.dshow=complete&drelated.dskin=grayskin.swf&drelated.dtarget=_self&skin=chrome.zip&image=http://blog.fity.cn/images/video.jpg" salign="lt" wmode="opaque" allowscriptaccess="always" allowfullscreen="true" quality="high" bgcolor="#000000" name="ply" id="ply" src="http://blog.fity.cn/demo/mp4player/fity.cn_player.swf?file=http://blog.fity.cn/video.mp4" type="application/x-shockwave-flash">

你知道你的网页是如何加载的吗,那个先加载那个后加载人有数吗?如果不知道就进入看看吧,本文章很详细的给你总结了哦。

很多时候,我们都想确认页面内容:html标签、css、js、图片等元素的加载顺序。

现在的浏览器基本都自带调试工具,下面就介绍下用chrome浏览器正确查看页面内容加载顺序的方法:

F12打开开发人员工具,点击【Network】(网络)的tab切换到页面元素加载内容查看标签,这里需要说明的是:在该面板未激活时的任何请求都不会被显示,这就是为什么 我们初始看到面板展示的是一片空白啦!要想查看页面内容加载顺序,必须重新加载下页面(f5,或保险起见ctrl+f),这样就可以快速查看到页面各内容加载顺序啦!

Network面板下还有很多分类tab,如:name、domain、cookies、 time(查看元素加载用时),点击各title还可按tab所代表的降序或升序排序标准重新对页面所加载的内容进行排序。当然这种排序,chrome在多次按f12即重新打开开发人员工具时会被重置,恢复至默认,这就很方便我们查看页面内容的加载顺序啦!!

firefox 的firebug查看页面内容加载顺序,方法同chrome类似,至于喜欢用ie的同学,可用httpwatch pro, 继续享受ie的摧残吧,骚年!!

另外需要强调的是:

页面是按“由上到下”的加载顺序来加载图片、js等内容的。但对于样式中加载的图片,它们的加载顺序是根据标签元素在html页面的先后位置决定的,如:body>子元素>子孙元素!更形象的实例是:

假如body 跟 div.test 元素都有定义背景图,则不管两者css是以行内式样式(标签style属性)、嵌入式样式表(<style></style>标签)还是外部样式表(<link>标签) 加载的,加载的顺序始终都是先加载body的背景图片再加载子元素div.test的背景图片,因为body 在html页面中位于div.test之前!

上面强调图片加载顺序完全可用文章前端介绍的“快速查看到页面各内容加载顺序”的方法得到验证!!

使用百度站长工具的朋友可能都知道他会让我们把css或js文件合并成一样,这样可以减少请求了,下面我来根据百度需要做了一篇关于合并静态资源请求的文章。


除过在前端编码的时候将css、js等静态资源文件合并压缩之外,我们还可以在页面中将多个css、js的请求合并为一个请求。

比如我们在淘宝的首页源码中可以看到以下的css引用:

<link rel="stylesheet" href="/??tb/global/2.6.0/global-min.css,tb/tb-fp/1.7.2/style-min.css?t=20131231">

这段代码通过一个网络请求完成两个css文件的请求,是怎么做到的呢?

原来是一个叫nginx-http-concat的模块,nginx-http-concat模块是淘宝开发的基于Nginx减少HTTP请求数量的扩展模块,主要是用于合并减少前端用户Request的HTTP请求的数量。

nginx-http-concat是一个nginx扩展模块,需要在安装nginx的服务器上重新编译nginx并加入nginx-http-concat,这个模块可以在github上下载。

安装之后需要重新修改nginx配置:

location /static/css/ {
    concat on;           #是否开启concat,默认是关闭的
    concat_max_files 20; #允许concat的最大文件数,默认是10
}

location /static/js/ {
    concat on;
    concat_max_files 30;
}

nginx重新reload之后,就可以使用类似淘宝的方法将多个css或js文件合并为一个请求。比如:

/css/??global.min.css,index.min.css?t=20140107

以上concat的配置在http、server、location中都能生效,除此之外还有几个参数,不设置也罢。

concat_unique on;                               #是否只对同一类型的MIME types文件进行合并,默认是开启的
concat_types text/css application/x-javascript; #指定可以合并的MIME types,默认是text/css application/x-javascript
concat_delimiter;                               #指定合并文件之间的分隔符。该分隔符会被插入被合并的文件之间。
concat_ignore_file_error off;                   #是否忽略文件错误(403或404等),默认是关闭的。

[!--infotagslink--]

相关文章

  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • IE6-IE9中tbody的innerHTML不能赋值的解决方法

    IE6-IE9中tbody的innerHTML不能赋值,重现代码如下 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>IE6-IE9中tbody的innerHTML不能复制bug</title> </head> <body style="height:3...2014-06-07
  • XML、HTML、CSS与JS的区别整理

    在BS中,xml,html,css和js我们都学过,起初分不清这四者的区别和联系,随着知识的增长,有了一些体会,下面通过本文给大家简单介绍 XML、HTML、CSS与JS的区别,需要的朋友参考下...2016-02-21
  • Angular.js中下拉框实现渲染html的方法

    这篇文章主要给大家介绍了关于在Angular.js中下拉框实现渲染html的方法,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来跟着小编一起来学习学习吧。...2017-06-24
  • angularjs中ng-bind-html的用法总结

    这篇文章主要介绍了angularjs中ng-bind-html的用法总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-05-27
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06
  • C# 使用 WebBrowser 实现 HTML 转图片功能的示例代码

    这篇文章主要介绍了C# 如何使用 WebBrowser 实现 HTML 转图片功能,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-11-03
  • C#使用正则表达式过滤html标签

    最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
  • js innerHTML 改变div内容

    在做ajax无刷新时,我想很多朋友都会知道js innerHTML来更改 div 或table里面的值哦. JavaScript的innerHTML 永远不知道你可以改变的内容,一个HTML元素?也许你要...2016-09-20
  • IE6-IE9使用JSON、table.innerHTML所引发的问题

    这篇文章主要介绍了IE6-IE9使用JSON、table.innerHTML所引发的问题 ,需要的朋友可以参考下...2015-12-24
  • html中MIME介绍及用途说明

    MIME表示多用途Internet邮件扩允协议。多用途互联网邮件扩展类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使...2016-09-20
  • JS实现pasteHTML兼容ie,firefox,chrome的方法

    这篇文章主要介绍了JS实现pasteHTML兼容ie,firefox,chrome的方法,涉及javascript针对页面元素的动态操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2016-06-24
  • Razor TagHelper实现Markdown转HTML的方法

    下面小编就为大家分享一篇Razor TagHelper实现Markdown转HTML的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-09-22
  • IE下select标签innerHTML插入option的BUG

    调用方法 addOption(sltObj, '<option>a</option>'); 代码如下 var sltObj=document.getElementById('xx');//获取select对象,这里只是给个例子,可以按自己习惯来获...2016-09-20
  • React html中使用react的两种方式

    这篇文章主要介绍了React html中使用react的两种方式,本文给大家提到了React pwa的配置代码,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-06
  • JS中innerHTML和pasteHTML的区别实例分析

    这篇文章主要介绍了JS中innerHTML和pasteHTML的区别,结合实例形式较为详细的分析了innerHTML和pasteHTML的具体功能与使用区别,需要的朋友可以参考下...2016-06-24
  • Python下利用BeautifulSoup解析HTML的实现

    这篇文章主要介绍了Python下利用BeautifulSoup解析HTML的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-27
  • ASP.NET过滤HTML字符串方法总结

    这篇文章主要介绍了ASP.NET过滤HTML字符串方法总结,需要的朋友可以参考下...2021-09-22
  • HTML+CSS+JavaScript做女朋友版的刮刮乐(一看就会)

    这篇文章主要介绍了HTML+CSS+JavaScript做女朋友版的刮刮乐(一看就会)本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-08-25
  • C#实现HTML和UBB互相转换的方法

    这篇文章主要介绍了C#实现HTML和UBB互相转换的方法,通过两个自定义函数DoHtmlToUB与ubbtohtml来实现HTML代码与ubb代码间的相互转换,是非常实用的技巧,需要的朋友可以参考下...2020-06-25