Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇

           Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇

                                      作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.Internet与中国

Internet最早来源于美国国防部高级研究计划局ARPA建立的ARPANet,1969年投入运行。1983年,ARPAnet分裂为两部分:ARPAnet和纯军事用的MILNET。当年1月,ARPA把TCP/IP协议作为ARPAnet的标准协议,这个以ARPAnet为主干网的网际互联网便被称为Internet。1986年,美国国家科学基金会建立计算机通信网络NSFnet。此后,NSFNet逐渐取代ARPANet在Internet的地位。1990年,ARPANet正式关闭

北京时间1987年9月20日
  钱天白建立起一个网络节点,通过电话拨号连接到国际互联网,向他的德国朋友发出来自中国的第一封电子邮件:Across the Great Wall we can reach every corner
in the world,自此,中国与国际计算机网络开始连接在一起 1990年10月 钱天白教授代表中国正式在国际互联网络信息中心的前身DDN-NIC注册登记了我国的顶级域名CN,并且从此开通了使用中国顶级域名CN的国际电子邮件服务。由于当时中国尚未正式连入Internet,所以委托德国卡尔斯鲁厄大学运行CN域名服务器 1993年3月2日 中国科学院高能物理研究所租用AT&T公司的国际卫星信道接入美国斯坦福线性加速器中心(SLAC)的64K专线正式开通,专线开通后,美国政府以Internet上有许多科技信息和其它各种资源,不能让社会主义国家接入为由,只允许这条专线进入美国能源网而不能连接到其它地方。尽管如此,这条专线仍是我国部分连入Internet的第一根专线 1994年4月20日 中国实现与互联网的全功能连接,被国际上正式承认为有互联网的国家 1994年5月21日 在钱天白教授和德国卡尔斯鲁厄大学的协助下,中国科学院计算机网络信息中心完成了中国国家顶级域名(CN)服务器的设置,改变了中国的CN顶级域名服务器一直放在国外的历史 1996年1月 中国互联网全国骨干网建成并正式开通,开始提供服务 1995年4月 马云凑了两万块钱,成立杭州海博网络公司,专门给企业做主页 1997年5月 丁磊创立网易 1998年 张朝阳创立搜狐。 1998年6月18日 刘强东在中关村创办京东公司,代理销售光磁产品 1998年11月 马化腾和张志东成立深圳市腾讯计算机系统有限公司,OICQ开通 1998年12月 新浪网成立,关键人物:王志东 2000年1月 李彦宏创建了百度 2003年5月   阿里巴巴集团在创立淘宝网 2003年10月   淘宝网首次推出支付宝服务 2004年1月   京东多媒体网正式开通,启用域名www.jdlaser.com 2010年4月   雷军创办小米 2011年1月21日   腾讯公司推出微信 (WeChat) 2012年7月10日   北京小桔科技有限公司成立,滴滴司机端3个月后北京上线 2016年4月   摩拜单车在上海上线 下一个又是谁呢?

 

中国互联网连接世界
  1885年台湾建省,首任巡抚刘铭传派人与福州船政联系,使用船政电报学堂毕业生为技术人员,于1887年铺设成功台湾淡水至福州川石海底电缆,全长117海里。这是我国自行设计安装的第一条海底电缆。此电缆毁于第二次世界大战

  我国于1989年开始投入到全球海底光缆的投资与建设中来,并于1993年实现了首条国际海底光缆的登陆(中日之间C
-J海底光缆系统);随后在1997年,我国参与建设的全球海底光缆系统(FLAG)建成并投入运营,这也是第一条在我国登陆的洲际海底光缆
  中国连接世界目前共有8条光缆,四个登陆站允许入境,目前我国的登陆站设立在三个城市的四个地区,分别是山东青岛登陆站(隶属中国联通)、上海崇明登陆站(隶属中国电信)、上海南汇登陆站(隶属中国联通)和广东汕头登陆站(隶属中国电信)   1987年9月20日,在北京ICA王运丰教授和西德卡尔斯鲁厄大学维尔纳·措恩教授的主导下,中华人民共和国大陆地区与外界互联网创建了首个连接。而中国第一封成功对外发出的电邮则是在1987年9月14日发出,内容为“Across the Great Wall, we can reach every corner
in the world”(越过长城,走向世界每个角落)
  然而,我们还是不能访问Google!

 

二.HTTP服务通信过程

1>.HTTP协议和TCP通信过程

2>.HTTP服务器和客户端通信

3>.发送端和接收端通信

 

 

三.HTTP相关术语

1>.http

  http是一个应用层简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使得开发和部署是那么的直截了当。

2>.html

  HTML(HyperText Markup Language)超文本标记语言,它不同于编程语言。 超文本就是超出纯文本的范畴,例如描述文本的颜色、大小、字体等信息,或使用图片、音频、视频等非文本内容。

  HTML由一个个标签组成,这些标签各司其职。有的提供网页信息,有的负责图片,有的负责网页布局。

  超文本需要显示,就得有软件能够呈现超文本定义的排版格式,例如显示图片、表格,显示字体的大小、颜色,这个软件就是浏览器。

  超文本的诞生是为了解决纯文本不能格式显示的问题,是为了好看,但是只有通过网络才能分享超文本的内容,所以制定了HTTP协议。

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/11955504.html

3>.CSS(Cascading Style Sheet 层叠样式表)

  HTML本身为了格式化显示文本,但是当网页呈现大家面前的时候,需求HTML提供更多样式能力。这 使得HTML变得越来越臃肿。这促使了CSS的诞生。
 
  1994年,W3C成立,CSS设计小组所有成员加入W3C,并努力研发CSS的标准,微软最终加入。 

  1996年12月发布CSS 1.0。

  1998年5月发布CSS 2.0。

  CSS 3采用了模块化思想,每个模块都在CSS 2基础上分别增强功能。所以,这些模块是陆续发布的。

  不同厂家的浏览器使用的引擎,对CSS的支持不一样,导致网页布局、样式在不同浏览器不一样。因 此,想要保证不同用户使用不同浏览器看到的网页效果一直非常困难。

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/7231869.html

4>.javascript

  Javascript简称JS,是一种动态的弱类型脚本解释性语言,和HTML、CSS并称三大WEB核心技术,得到了几乎主流浏览器支持。

  1994年,网景Netscape公司成立并发布了Netscape Navigator浏览器,占据了很大的市场份额,网景 意识到WEB需要动态,需要一种技术来实现。
    
  1995年9月网景浏览器2发布测试版本发布了LiveScript,随即在12月的测试版就更名为JavaScript。同 时期,微软推出IE并支持JScript、VBScript,与之抗衡。

  1997年,网景、微软、SUN、Borland公司和其他组织在ECMA确定了ECMAScript语言标准。JS就成为 ECMAScript标准的实现之一。

5>.MIME(Multipurpose Internet Mail Extensions)

多用途互联网邮件扩展,存放着支持的各种资源类型,在"/etc/mime.types"配置文件中。

格式:
  major
/minor(主号/次号)   text/plain   text/html   text/css   image/jpeg   image/png   video/mp4   application/javascript 博主推荐阅读:
  http:
//www.w3school.com.cn/media/media_mimeref.asp
[root@yinzhengjie ~]# cat /etc/mime.types 
# This is a comment. I love comments.            -*- indent-tabs-mode: t -*-

# This file controls what Internet media types are sent to the client for
# given file extension(s).  Sending the correct media type to the client
# is important so they know how to handle the content of the file.
# Extra types can either be added here or by using an AddType directive
# in your config files. For more information about Internet media types,
# please read RFC 2045, 2046, 2047, 2048, and 2077.  The Internet media type
# registry is at <http://www.iana.org/assignments/media-types/>.

# IANA types

# MIME type                    Extensions
application/3gpp-ims+xml
application/activemessage
application/andrew-inset            ez
application/applefile
application/atom+xml                atom
application/atomicmail
application/atomcat+xml                atomcat
application/atomsvc+xml                atomsvc
application/auth-policy+xml            apxml
application/batch-SMTP
application/beep+xml
application/cals-1840
application/ccxml+xml                ccxml
application/cea-2018+xml
application/cellml+xml                cellml cml
application/cnrp+xml
application/commonground
application/conference-info+xml
application/cpl+xml                cpl
application/csta+xml
application/CSTAdata+xml
application/cybercash
application/davmount+xml            davmount
application/dca-rft
application/dec-dx
application/dialog-info+xml
application/dicom                dcm
application/dns
application/dssc+der                dssc
application/dssc+xml                xdssc
application/dvcs                dvc
application/ecmascript
application/EDI-Consent
application/EDI-X12
application/EDIFACT
application/emma+xml                emma
application/epp+xml
application/eshop
application/fastinfoset                finf
application/fastsoap
# fits, fit, fts: image/fits
application/fits
application/font-tdpfr                pfr
application/H224
application/held+xml
application/http
application/hyperstudio                stk
application/ibe-key-request+xml
application/ibe-pkg-reply+xml
application/ibe-pp-data
application/iges
application/im-iscomposing+xml
application/index
application/index.cmd
application/index.obj
application/index.response
application/index.vnd
application/iotp
application/ipfix                ipfix
application/ipp
application/isup
# js: text/javascript (obsolete) for browser support for now
application/javascript
application/json                json
application/kpml-request+xml
application/kpml-response+xml
application/lost+xml                lostxml
application/mac-binhex40            hqx
application/macwriteii
application/marc                mrc
application/mathematica                nb ma mb
application/mbms-associated-procedure-description+xml
application/mbms-deregister+xml
application/mbms-envelope+xml
application/mbms-msk-response+xml
application/mbms-msk+xml
application/mbms-protection-description+xml
application/mbms-reception-report+xml
application/mbms-register-response+xml
application/mbms-register+xml
application/mbms-user-service-description+xml
application/mbox                mbox
application/media_control+xml
application/mediaservercontrol+xml
application/mikey
application/moss-keys
application/moss-signature
application/mosskey-data
application/mosskey-request
application/mp21                m21 mp21
# mp4, mpg4: video/mp4, see RFC 4337
application/mp4
application/mpeg4-generic
application/mpeg4-iod
application/mpeg4-iod-xmt
application/msword                doc
application/mxf                    mxf
application/nasdata
application/news-checkgroups
application/news-groupinfo
application/news-transmission
application/nss
application/ocsp-request            orq
application/ocsp-response            ors
application/octet-stream        bin lha lzh exe class so dll img iso
application/oda                    oda
application/oebps-package+xml            opf
application/ogg                    ogx
application/parityfec
# xer: application/xcap-error+xml
application/patch-ops-error+xml
application/pdf                    pdf
application/pgp-encrypted
application/pgp-keys
application/pgp-signature            sig
application/pidf-diff+xml
application/pidf+xml
application/pkcs10                p10
application/pkcs7-mime                p7m p7c
application/pkcs7-signature            p7s
application/pkix-cert                cer
application/pkix-crl                crl
application/pkix-pkipath            pkipath
application/pkixcmp
application/pls+xml                pls
application/poc-settings+xml
application/postscript                ai eps ps
application/prs.alvestrand.titrax-sheet
application/prs.cww                cw cww
application/prs.nprend                rnd rct
application/prs.plucker
application/qsig
application/rdf+xml                rdf
application/reginfo+xml                rif
application/relax-ng-compact-syntax        rnc
application/remote-printing
application/resource-lists-diff+xml        rld
application/resource-lists+xml            rl
application/riscos
application/rlmi+xml
application/rls-services+xml            rs
application/rtf                    rtf
application/rtx
application/samlassertion+xml
application/samlmetadata+xml
application/sbml+xml
application/scvp-cv-request            scq
application/scvp-cv-response            scs
application/scvp-vp-request            spq
application/scvp-vp-response            spp
application/sdp                    sdp
application/set-payment
application/set-payment-initiation
application/set-registration
application/set-registration-initiation
application/sgml
application/sgml-open-catalog            soc
application/shf+xml                shf
application/sieve                siv sieve
application/simple-filter+xml            cl
application/simple-message-summary
application/simpleSymbolContainer
application/slate
# obsoleted by application/smil+xml
application/smil                smil smi sml
# smil, smi: application/smil for now
application/smil+xml
application/soap+fastinfoset
application/soap+xml
application/sparql-query            rq
application/sparql-results+xml            srx
application/spirits-event+xml
application/srgs                gram
application/srgs+xml                grxml
application/ssml+xml                ssml
application/timestamp-query            tsq
application/timestamp-reply            tsr
application/tve-trigger
application/ulpfec
application/vemmi
application/vnd.3gpp.bsf+xml
application/vnd.3gpp.pic-bw-large        plb
application/vnd.3gpp.pic-bw-small        psb
application/vnd.3gpp.pic-bw-var            pvb
# sms: application/vnd.3gpp2.sms
application/vnd.3gpp.sms
application/vnd.3gpp2.bcmcsinfo+xml
application/vnd.3gpp2.sms            sms
application/vnd.3gpp2.tcap            tcap
application/vnd.3M.Post-it-Notes        pwn
application/vnd.accpac.simply.aso        aso
application/vnd.accpac.simply.imp        imp
application/vnd.acucobol            acu
application/vnd.acucorp                atc acutc
application/vnd.adobe.partial-upload
application/vnd.adobe.xdp+xml            xdp
application/vnd.adobe.xfdf            xfdf
application/vnd.aether.imp
application/vnd.airzip.filesecure.azf        azf
application/vnd.airzip.filesecure.azs        azs
application/vnd.americandynamics.acc        acc
application/vnd.amiga.ami            ami
application/vnd.anser-web-certificate-issue-initiation    cii
# Not in IANA listing, but is on FTP site?
application/vnd.anser-web-funds-transfer-initiation    fti
# atx: audio/ATRAC-X
application/vnd.antix.game-component
application/vnd.apple.installer+xml        dist distz pkg mpkg
# m3u: application/x-mpegurl for now
application/vnd.apple.mpegurl            m3u8
application/vnd.aristanetworks.swi        swi
application/vnd.audiograph            aep
application/vnd.autopackage            package
application/vnd.avistar+xml
application/vnd.blueice.multipass        mpm
application/vnd.bluetooth.ep.oob        ep
application/vnd.bmi                bmi
application/vnd.businessobjects            rep
application/vnd.cab-jscript
application/vnd.canon-cpdl
application/vnd.canon-lips
application/vnd.cendio.thinlinc.clientconf    tlclient
application/vnd.chemdraw+xml            cdxml
application/vnd.chipnuts.karaoke-mmd        mmd
application/vnd.cinderella            cdy
application/vnd.cirpack.isdn-ext
application/vnd.claymore            cla
application/vnd.cloanto.rp9            rp9
application/vnd.clonk.c4group            c4g c4d c4f c4p c4u
# icc: application/vnd.iccprofile
application/vnd.commerce-battelle    ica icf icd ic0 ic1 ic2 ic3 ic4 ic5 ic6 ic7 ic8
application/vnd.commonspace            csp cst
application/vnd.contact.cmsg            cdbcmsg
application/vnd.cosmocaller            cmc
application/vnd.crick.clicker            clkx
application/vnd.crick.clicker.keyboard        clkk
application/vnd.crick.clicker.palette        clkp
application/vnd.crick.clicker.template        clkt
application/vnd.crick.clicker.wordbank        clkw
application/vnd.criticaltools.wbs+xml        wbs
application/vnd.ctc-posml            pml
application/vnd.ctct.ws+xml
application/vnd.cups-pdf
application/vnd.cups-postscript
application/vnd.cups-ppd            ppd
application/vnd.cups-raster
application/vnd.cups-raw
application/vnd.curl                curl
application/vnd.cybank
application/vnd.data-vision.rdz            rdz
application/vnd.denovo.fcselayout-link        fe_launch
application/vnd.dir-bi.plate-dl-nosuffix
application/vnd.dna                dna
application/vnd.dolby.mobile.1
application/vnd.dolby.mobile.2
application/vnd.dpgraph                dpg mwc dpgraph
application/vnd.dreamfactory            dfac
application/vnd.dvb.esgcontainer
application/vnd.dvb.ipdcdftnotifaccess
application/vnd.dvb.ipdcesgaccess
application/vnd.dvb.ipdcroaming
application/vnd.dvb.iptv.alfec-base
application/vnd.dvb.iptv.alfec-enhancement
application/vnd.dvb.notif-aggregate-root+xml
application/vnd.dvb.notif-container+xml
application/vnd.dvb.notif-generic+xml
application/vnd.dvb.notif-ia-msglist+xml
application/vnd.dvb.notif-ia-registration-request+xml
application/vnd.dvb.notif-ia-registration-response+xml
application/vnd.dvb.notif-init+xml
# dxr: application/x-director
application/vnd.dxr
application/vnd.dynageo                geo
application/vnd.ecdis-update
application/vnd.ecowin.chart            mag
application/vnd.ecowin.filerequest
application/vnd.ecowin.fileupdate
application/vnd.ecowin.series
application/vnd.ecowin.seriesrequest
application/vnd.ecowin.seriesupdate
application/vnd.enliven                nml
application/vnd.epson.esf            esf
application/vnd.epson.msf            msf
application/vnd.epson.quickanime        qam
application/vnd.epson.salt            slt
application/vnd.epson.ssf            ssf
application/vnd.ericsson.quickcall        qcall qca
application/vnd.eszigno3+xml            es3 et3
application/vnd.etsi.aoc+xml
application/vnd.etsi.cug+xml
application/vnd.etsi.iptvcommand+xml
application/vnd.etsi.iptvdiscovery+xml
application/vnd.etsi.iptvprofile+xml
application/vnd.etsi.iptvsad-bc+xml
application/vnd.etsi.iptvsad-cod+xml
application/vnd.etsi.iptvsad-npvr+xml
application/vnd.etsi.iptvueprofile+xml
application/vnd.etsi.mcid+xml
application/vnd.etsi.sci+xml
application/vnd.etsi.simservs+xml
application/vnd.etsi.tsl.der
application/vnd.etsi.tsl+xml
application/vnd.eudora.data
application/vnd.ezpix-album            ez2
application/vnd.ezpix-package            ez3
application/vnd.f-secure.mobile
application/vnd.fdf                fdf
application/vnd.fdsn.mseed            msd mseed
application/vnd.fsdn.seed            seed dataless
application/vnd.ffsns
# all extensions: application/vnd.hbci
application/vnd.fints
application/vnd.FloGraphIt            gph
application/vnd.fluxtime.clip            ftc
application/vnd.font-fontforge-sfd        sfd
application/vnd.framemaker            fm
application/vnd.frogans.fnc            fnc
application/vnd.frogans.ltf            ltf
application/vnd.fsc.weblaunch            fsc
application/vnd.fujitsu.oasys            oas
application/vnd.fujitsu.oasys2            oa2
application/vnd.fujitsu.oasys3            oa3
application/vnd.fujitsu.oasysgp            fg5
application/vnd.fujitsu.oasysprs        bh2
application/vnd.fujixerox.ART-EX
application/vnd.fujixerox.ART4
application/vnd.fujixerox.ddd            ddd
application/vnd.fujixerox.docuworks        xdw
application/vnd.fujixerox.docuworks.binder    xbd
application/vnd.fujixerox.HBPL
application/vnd.fut-misnet
application/vnd.fuzzysheet            fzs
application/vnd.genomatix.tuxedo        txd
application/vnd.geogebra.file            ggb
application/vnd.geogebra.tool            ggt
application/vnd.geometry-explorer        gex gre
application/vnd.geonext                gxt
application/vnd.geoplan                g2w
application/vnd.geospace            g3w
application/vnd.globalplatform.card-content-mgt
application/vnd.globalplatform.card-content-mgt-response
# application/vnd.gmx deprecated 2009-03-04
application/vnd.google-earth.kml+xml        kml
application/vnd.google-earth.kmz        kmz
application/vnd.grafeq                gqf gqs
application/vnd.gridmp
application/vnd.groove-account            gac
application/vnd.groove-help            ghf
application/vnd.groove-identity-message        gim
application/vnd.groove-injector            grv
application/vnd.groove-tool-message        gtm
application/vnd.groove-tool-template        tpl
application/vnd.groove-vcard            vcg
application/vnd.HandHeld-Entertainment+xml    zmm
application/vnd.hbci                hbci hbc kom upa pkd bpd
# rep: application/vnd.businessobjects
application/vnd.hcl-bireports
application/vnd.hhe.lesson-player        les
application/vnd.hp-HPGL                hpgl
application/vnd.hp-hpid                hpi hpid
application/vnd.hp-hps                hps
application/vnd.hp-jlyt                jlt
application/vnd.hp-PCL                pcl
application/vnd.hp-PCLXL
application/vnd.httphone
application/vnd.hydrostatix.sof-data        sfd-hdstx
application/vnd.hzn-3d-crossword        x3d
application/vnd.ibm.afplinedata
application/vnd.ibm.electronic-media        emm
application/vnd.ibm.MiniPay            mpy
application/vnd.ibm.modcap            list3820 listafp afp pseg3820
application/vnd.ibm.rights-management        irm
application/vnd.ibm.secure-container        sc
application/vnd.iccprofile            icc icm
application/vnd.igloader            igl
application/vnd.immervision-ivp            ivp
application/vnd.immervision-ivu            ivu
application/vnd.informedcontrol.rms+xml
# application/vnd.informix-visionary obsoleted by application/vnd.visionary
application/vnd.intercon.formnet        xpw xpx
application/vnd.intertrust.digibox
application/vnd.intertrust.nncp
application/vnd.intu.qbo            qbo
application/vnd.intu.qfx            qfx
application/vnd.iptc.g2.conceptitem+xml
application/vnd.iptc.g2.knowledgeitem+xml
application/vnd.iptc.g2.newsitem+xml
application/vnd.iptc.g2.packageitem+xml
application/vnd.ipunplugged.rcprofile        rcprofile
application/vnd.irepository.package+xml        irp
application/vnd.is-xpr                xpr
application/vnd.jam                jam
application/vnd.japannet-directory-service
application/vnd.japannet-jpnstore-wakeup
application/vnd.japannet-payment-wakeup
application/vnd.japannet-registration
application/vnd.japannet-registration-wakeup
application/vnd.japannet-setstore-wakeup
application/vnd.japannet-verification
application/vnd.japannet-verification-wakeup
application/vnd.jcp.javame.midlet-rms        rms
application/vnd.jisp                jisp
application/vnd.joost.joda-archive        joda
application/vnd.kahootz                ktz ktr
application/vnd.kde.karbon            karbon
application/vnd.kde.kchart            chrt
application/vnd.kde.kformula            kfo
application/vnd.kde.kivio            flw
application/vnd.kde.kontour            kon
application/vnd.kde.kpresenter            kpr kpt
application/vnd.kde.kspread            ksp
application/vnd.kde.kword            kwd kwt
application/vnd.kenameaapp            htke
application/vnd.kidspiration            kia
application/vnd.Kinar                kne knp sdf
application/vnd.koan                skp skd skm skt
application/vnd.kodak-descriptor        sse
application/vnd.liberty-request+xml
application/vnd.llamagraphics.life-balance.desktop    lbd
application/vnd.llamagraphics.life-balance.exchange+xml    lbe
application/vnd.lotus-1-2-3            123 wk4 wk3 wk1
application/vnd.lotus-approach            apr vew
application/vnd.lotus-freelance            prz pre
application/vnd.lotus-notes            nsf ntf ndl ns4 ns3 ns2 nsh nsg
application/vnd.lotus-organizer            or3 or2 org
application/vnd.lotus-screencam            scm
application/vnd.lotus-wordpro            lwp sam
application/vnd.macports.portpkg        portpkg
application/vnd.marlin.drm.actiontoken+xml
application/vnd.marlin.drm.conftoken+xml
application/vnd.marlin.drm.license+xml
application/vnd.marlin.drm.mdcf            mdc
application/vnd.mcd                mcd
application/vnd.medcalcdata            mc1
application/vnd.mediastation.cdkey        cdkey
application/vnd.meridian-slingshot
application/vnd.MFER                mwf
application/vnd.mfmp                mfm
application/vnd.micrografx.flo            flo
application/vnd.micrografx.igx            igx
application/vnd.mif                mif
application/vnd.minisoft-hp3000-save
application/vnd.mitsubishi.misty-guard.trustweb
application/vnd.Mobius.DAF            daf
application/vnd.Mobius.DIS            dis
application/vnd.Mobius.MBK            mbk
application/vnd.Mobius.MQY            mqy
application/vnd.Mobius.MSL            msl
application/vnd.Mobius.PLC            plc
application/vnd.Mobius.TXF            txf
application/vnd.mophun.application        mpn
application/vnd.mophun.certificate        mpc
application/vnd.motorola.flexsuite
application/vnd.motorola.flexsuite.adsi
application/vnd.motorola.flexsuite.fis
application/vnd.motorola.flexsuite.gotap
application/vnd.motorola.flexsuite.kmr
application/vnd.motorola.flexsuite.ttc
application/vnd.motorola.flexsuite.wem
application/vnd.motorola.iprm
application/vnd.mozilla.xul+xml            xul
application/vnd.ms-artgalry            cil
application/vnd.ms-asf                asf
application/vnd.ms-cab-compressed        cab
application/vnd.ms-excel            xls
application/vnd.ms-fontobject            eot
application/vnd.ms-htmlhelp            chm
application/vnd.ms-ims                ims
application/vnd.ms-lrm                lrm
application/vnd.ms-playready.initiator+xml
application/vnd.ms-powerpoint            ppt
application/vnd.ms-project            mpp
application/vnd.ms-tnef                tnef tnf
application/vnd.ms-wmdrm.lic-chlg-req
application/vnd.ms-wmdrm.lic-resp
application/vnd.ms-wmdrm.meter-chlg-req
application/vnd.ms-wmdrm.meter-resp
application/vnd.ms-works            wcm wdb wks wps
application/vnd.ms-wpl                wpl
application/vnd.ms-xpsdocument            xps
application/vnd.mseq                mseq
application/vnd.msign
application/vnd.multiad.creator            crtr
application/vnd.multiad.creator.cif        cif
application/vnd.music-niff
application/vnd.musician            mus
application/vnd.muvee.style            msty
application/vnd.ncd.control
application/vnd.ncd.reference
application/vnd.nervana                entity request bkm kcm
application/vnd.netfpx
application/vnd.neurolanguage.nlu        nlu
application/vnd.noblenet-directory        nnd
application/vnd.noblenet-sealer            nns
application/vnd.noblenet-web            nnw
application/vnd.nokia.catalogs
application/vnd.nokia.conml+wbxml
application/vnd.nokia.conml+xml
application/vnd.nokia.iptv.config+xml
application/vnd.nokia.iSDS-radio-presets
application/vnd.nokia.landmark+wbxml
application/vnd.nokia.landmark+xml
application/vnd.nokia.landmarkcollection+xml
application/vnd.nokia.n-gage.ac+xml        ac
application/vnd.nokia.n-gage.data        ngdat
application/vnd.nokia.n-gage.symbian.install    n-gage
application/vnd.nokia.ncd
application/vnd.nokia.pcd+wbxml
application/vnd.nokia.pcd+xml
application/vnd.nokia.radio-preset        rpst
application/vnd.nokia.radio-presets        rpss
application/vnd.novadigm.EDM            edm
application/vnd.novadigm.EDX            edx
application/vnd.novadigm.EXT            ext
application/vnd.oasis.opendocument.chart            odc
application/vnd.oasis.opendocument.chart-template        otc
application/vnd.oasis.opendocument.database            odb
application/vnd.oasis.opendocument.formula            odf
application/vnd.oasis.opendocument.formula-template        otf
application/vnd.oasis.opendocument.graphics            odg
application/vnd.oasis.opendocument.graphics-template        otg
application/vnd.oasis.opendocument.image            odi
application/vnd.oasis.opendocument.image-template        oti
application/vnd.oasis.opendocument.presentation            odp
application/vnd.oasis.opendocument.presentation-template    otp
application/vnd.oasis.opendocument.spreadsheet            ods
application/vnd.oasis.opendocument.spreadsheet-template        ots
application/vnd.oasis.opendocument.text                odt
application/vnd.oasis.opendocument.text-master            odm
application/vnd.oasis.opendocument.text-template        ott
application/vnd.oasis.opendocument.text-web            oth
application/vnd.obn
application/vnd.olpc-sugar            xo
application/vnd.oma.bcast.associated-procedure-parameter+xml
application/vnd.oma.bcast.drm-trigger+xml
application/vnd.oma.bcast.imd+xml
application/vnd.oma.bcast.ltkm
application/vnd.oma.bcast.notification+xml
application/vnd.oma.bcast.provisioningtrigger
application/vnd.oma.bcast.sgboot
application/vnd.oma.bcast.sgdd+xml
application/vnd.oma.bcast.sgdu
application/vnd.oma.bcast.simple-symbol-container
application/vnd.oma.bcast.smartcard-trigger+xml
application/vnd.oma.bcast.sprov+xml
application/vnd.oma.bcast.stkm
application/vnd.oma.dcd
application/vnd.oma.dcdc
application/vnd.oma.dd2+xml            dd2
application/vnd.oma.drm.risd+xml
application/vnd.oma.group-usage-list+xml
application/vnd.oma.poc.detailed-progress-report+xml
application/vnd.oma.poc.final-report+xml
application/vnd.oma.poc.groups+xml
application/vnd.oma.poc.invocation-descriptor+xml
application/vnd.oma.poc.optimized-progress-report+xml
application/vnd.oma.push
application/vnd.oma.xcap-directory+xml
application/vnd.oma-scws-config
application/vnd.oma-scws-http-request
application/vnd.oma-scws-http-response
application/vnd.omads-email+xml
application/vnd.omads-file+xml
application/vnd.omads-folder+xml
application/vnd.omaloc-supl-init
application/vnd.openofficeorg.extension        oxt
application/vnd.openxmlformats-officedocument.custom-properties+xml
application/vnd.openxmlformats-officedocument.customXmlProperties+xml
application/vnd.openxmlformats-officedocument.drawing+xml
application/vnd.openxmlformats-officedocument.drawingml.chart+xml
application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml
application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml
application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml
application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml
application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml
application/vnd.openxmlformats-officedocument.extended-properties+xml
application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml
application/vnd.openxmlformats-officedocument.presentationml.comments+xml
application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml
application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml
application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml
application/vnd.openxmlformats-officedocument.presentationml.presProps+xml
application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml
application/vnd.openxmlformats-officedocument.presentationml.slide+xml
application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml
application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml
application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml
application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml
application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml
application/vnd.openxmlformats-officedocument.presentationml.tags+xml
application/vnd.openxmlformats-officedocument.presentationml.template.main+xml
application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml
application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
application/vnd.openxmlformats-officedocument.theme+xml
application/vnd.openxmlformats-officedocument.themeOverride+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml
application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml
application/vnd.openxmlformats-package.core-properties+xml
application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml
application/vnd.osa.netdeploy            ndc
# jar: application/x-java-archive
application/vnd.osgi.bundle
application/vnd.osgi.dp                dp
application/vnd.otps.ct-kip+xml
application/vnd.palm                prc pdb pqa oprc
application/vnd.paos+xml
application/vnd.pg.format                str
application/vnd.pg.osasli            ei6
application/vnd.piaccess.application-license    pil
application/vnd.picsel                efif
application/vnd.poc.group-advertisement+xml
application/vnd.pocketlearn            plf
application/vnd.powerbuilder6            pbd
application/vnd.powerbuilder6-s
application/vnd.powerbuilder7
application/vnd.powerbuilder7-s
application/vnd.powerbuilder75
application/vnd.powerbuilder75-s
application/vnd.preminet            preminet
application/vnd.previewsystems.box        box vbox
application/vnd.proteus.magazine        mgz
application/vnd.publishare-delta-tree        qps
# pti: image/prs.pti
application/vnd.pvi.ptid1            ptid
application/vnd.pwg-multiplexed
application/vnd.pwg-xhtml-print+xml
application/vnd.qualcomm.brew-app-res        bar
application/vnd.Quark.QuarkXPress        qxd qxt qwd qwt qxl qxb
application/vnd.radisys.moml+xml
application/vnd.radisys.msml-audit-conf+xml
application/vnd.radisys.msml-audit-conn+xml
application/vnd.radisys.msml-audit-dialog+xml
application/vnd.radisys.msml-audit-stream+xml
application/vnd.radisys.msml-audit+xml
application/vnd.radisys.msml-conf+xml
application/vnd.radisys.msml-dialog-base+xml
application/vnd.radisys.msml-dialog-fax-detect+xml
application/vnd.radisys.msml-dialog-fax-sendrecv+xml
application/vnd.radisys.msml-dialog-group+xml
application/vnd.radisys.msml-dialog-speech+xml
application/vnd.radisys.msml-dialog-transform+xml
application/vnd.radisys.msml-dialog+xml
application/vnd.radisys.msml+xml
application/vnd.rapid
application/vnd.realvnc.bed            bed
application/vnd.recordare.musicxml        mxl
application/vnd.recordare.musicxml+xml
application/vnd.RenLearn.rlprint
application/vnd.route66.link66+xml        link66
application/vnd.ruckus.download
application/vnd.s3sms
application/vnd.sailingtracker.track        st
application/vnd.sbm.cid
application/vnd.sbm.mid2
application/vnd.scribus                scd sla slaz
application/vnd.sealed.3df            s3df
application/vnd.sealed.csf            scsf
application/vnd.sealed.doc            sdoc sdo s1w
application/vnd.sealed.eml            seml sem
application/vnd.sealed.mht            smht smh
application/vnd.sealed.net
# spp: application/scvp-vp-response
application/vnd.sealed.ppt            sppt s1p
application/vnd.sealed.tiff            stif
application/vnd.sealed.xls            sxls sxl s1e
# stm: audio/x-stm
application/vnd.sealedmedia.softseal.html    stml s1h
application/vnd.sealedmedia.softseal.pdf    spdf spd s1a
application/vnd.seemail                see
application/vnd.sema                sema
application/vnd.semd                semd
application/vnd.semf                semf
application/vnd.shana.informed.formdata        ifm
application/vnd.shana.informed.formtemplate    itp
application/vnd.shana.informed.interchange    iif
application/vnd.shana.informed.package        ipk
application/vnd.SimTech-MindMapper        twd twds
application/vnd.smaf                mmf
application/vnd.smart.teacher            teacher
application/vnd.software602.filler.form+xml    fo
application/vnd.software602.filler.form-xml-zip    zfo
application/vnd.solent.sdkm+xml            sdkm sdkd
application/vnd.spotfire.dxp            dxp
application/vnd.spotfire.sfs            sfs
application/vnd.sss-cod
application/vnd.sss-dtf
application/vnd.sss-ntf
application/vnd.street-stream
application/vnd.sun.wadl+xml            wadl
application/vnd.sus-calendar            sus susp
application/vnd.svd
application/vnd.swiftview-ics
application/vnd.syncml.dm.notification
application/vnd.syncml.ds.notification
application/vnd.syncml.dm+wbxml            bdm
application/vnd.syncml.dm+xml            xdm
application/vnd.syncml+xml            xsm
application/vnd.tao.intent-module-archive    tao
application/vnd.tmobile-livetv            tmo
application/vnd.trid.tpt            tpt
application/vnd.triscape.mxs            mxs
application/vnd.trueapp                tra
application/vnd.truedoc
application/vnd.ufdl                ufdl ufd frm
application/vnd.uiq.theme            utz
application/vnd.umajin                umj
application/vnd.unity                unityweb
application/vnd.uoml+xml            uoml uo
application/vnd.uplanet.alert
application/vnd.uplanet.alert-wbxml
application/vnd.uplanet.bearer-choice
application/vnd.uplanet.bearer-choice-wbxml
application/vnd.uplanet.cacheop
application/vnd.uplanet.cacheop-wbxml
application/vnd.uplanet.channel
application/vnd.uplanet.channel-wbxml
application/vnd.uplanet.list
application/vnd.uplanet.list-wbxml
application/vnd.uplanet.listcmd
application/vnd.uplanet.listcmd-wbxml
application/vnd.uplanet.signal
application/vnd.vcx                vcx
# sxi: application/vnd.sun.xml.impress
application/vnd.vd-study            mxi study-inter model-inter
# mcd: application/vnd.mcd
application/vnd.vectorworks            vwx
application/vnd.vidsoft.vidconference        vsc
application/vnd.visio                vsd vst vsw vss
application/vnd.visionary            vis
# vsc: application/vnd.vidsoft.vidconference
application/vnd.vividence.scriptfile
application/vnd.vsf                vsf
application/vnd.wap.sic                sic
application/vnd.wap.slc                slc
application/vnd.wap.wbxml            wbxml
application/vnd.wap.wmlc            wmlc
application/vnd.wap.wmlscriptc            wmlsc
application/vnd.webturbo            wtb
application/vnd.wfa.wsc                wsc
application/vnd.wmc                wmc
application/vnd.wmf.bootstrap
# nb: application/mathematica for now
application/vnd.wolfram.mathematica
application/vnd.wolfram.mathematica.package    m
application/vnd.wolfram.player            nbp
application/vnd.wordperfect            wpd
application/vnd.wqd                wqd
application/vnd.wrq-hp3000-labelled
application/vnd.wt.stf                stf
application/vnd.wv.csp+xml
application/vnd.wv.csp+wbxml            wv
application/vnd.wv.ssp+xml
application/vnd.xara                xar
application/vnd.xfdl                xfdl xfd
application/vnd.xfdl.webform
application/vnd.xmi+xml
application/vnd.xmpie.cpkg            cpkg
application/vnd.xmpie.dpkg            dpkg
# dpkg: application/vnd.xmpie.dpkg
application/vnd.xmpie.plan
application/vnd.xmpie.ppkg            ppkg
application/vnd.xmpie.xlim            xlim
application/vnd.yamaha.hv-dic            hvd
application/vnd.yamaha.hv-script        hvs
application/vnd.yamaha.hv-voice            hvp
application/vnd.yamaha.openscoreformat        osf
application/vnd.yamaha.openscoreformat.osfpvg+xml
application/vnd.yamaha.smaf-audio        saf
application/vnd.yamaha.smaf-phrase        spf
application/vnd.yellowriver-custom-menu        cmp
application/vnd.zul                zir zirz
application/vnd.zzazz.deck+xml            zaz
application/voicexml+xml            vxml
application/watcherinfo+xml            wif
application/whoispp-query
application/whoispp-response
application/wita
application/wordperfect5.1
application/wsdl+xml                wsdl
application/wspolicy+xml            wspolicy
application/x400-bp
application/xcap-att+xml            xav
application/xcap-caps+xml            xca
application/xcap-el+xml                xel
application/xcap-error+xml            xer
application/xcap-ns+xml                xns
application/xcon-conference-info-diff+xml
application/xcon-conference-info+xml
application/xenc+xml
application/xhtml+xml                xhtml xhtm xht
# application/xhtml-voice+xml obsoleted by application/xv+xml
# xml: text/xml
application/xml
# mod: audio/x-mod
application/xml-dtd                dtd
# ent: text/xml-external-parsed-entity
application/xml-external-parsed-entity
application/xmpp+xml
application/xop+xml                xop
application/xslt+xml                xsl xslt
application/xv+xml                mxml xhvml xvml xvm
application/zip                    zip
audio/32kadpcm                    726
# 3gp, 3gpp: video/3gpp
audio/3gpp
# 3g2, 3gpp2: video/3gpp2
audio/3gpp2
audio/ac3                    ac3
audio/AMR                    amr
audio/AMR-WB                    awb
audio/amr-wb+
audio/asc
# aa3, omg: audio/ATRAC3
audio/ATRAC-ADVANCED-LOSSLESS            aal
# aa3, omg: audio/ATRAC3
audio/ATRAC-X                    atx
audio/ATRAC3                    at3 aa3 omg
audio/basic                    au snd
audio/BV16
audio/BV32
audio/clearmode
audio/CN
audio/DAT12
audio/dls                    dls
audio/dsr-es201108
audio/dsr-es202050
audio/dsr-es202211
audio/dsr-es202212
audio/DVI4
audio/eac3
audio/EVRC                    evc
# qcp: audio/qcelp
audio/EVRC-QCP
audio/EVRC0
audio/EVRC1
audio/EVRCB                    evb
audio/EVRCB0
audio/EVRCWB                    evw
audio/EVRCWB0
audio/EVRCWB1
audio/G719
audio/G722
audio/G7221
audio/G723
audio/G726-16
audio/G726-24
audio/G726-32
audio/G726-40
audio/G728
audio/G729
audio/G7291
audio/G729D
audio/G729E
audio/GSM
audio/GSM-EFR
audio/iLBC                    lbc
# wav: audio/wav
audio/L16                    l16
audio/L20
audio/L24
audio/L8
audio/LPC
audio/mobile-xmf                mxmf
# mp4, mpg4: video/mp4, see RFC 4337
audio/mp4
audio/MP4A-LATM
audio/MPA
audio/mpa-robust
audio/mpeg                    mpga mp1 mp2 mp3
audio/mpeg4-generic
audio/ogg                    oga ogg spx
audio/parityfec
audio/PCMA
audio/PCMA-WB
audio/PCMU
audio/PCMU-WB
audio/prs.sid                    sid psid
audio/qcelp                    qcp
audio/RED
audio/rtp-enc-aescm128
audio/rtp-midi
audio/rtx
audio/SMV                    smv
# qcp: audio/qcelp, see RFC 3625
audio/SMV-QCP
audio/SMV0
# mid: audio/midi
audio/sp-midi
audio/speex
audio/t140c
audio/t38
audio/telephone-event
audio/tone
audio/UEMCLIP
audio/ulpfec
audio/VDVI
audio/VMR-WB
audio/vnd.3gpp.iufp
audio/vnd.4SB
audio/vnd.audikoz                koz
audio/vnd.CELP
audio/vnd.cisco.nse
audio/vnd.cmles.radio-events
audio/vnd.cns.anp1
audio/vnd.cns.inf1
audio/vnd.digital-winds                eol
audio/vnd.dlna.adts
audio/vnd.dolby.heaac.1
audio/vnd.dolby.heaac.2
audio/vnd.dolby.mlp                mlp
audio/vnd.dolby.mps
audio/vnd.dolby.pl2
audio/vnd.dolby.pl2x
audio/vnd.dolby.pl2z
audio/vnd.dolby.pulse.1
audio/vnd.dra
# wav: audio/wav, cpt: application/mac-compactpro
audio/vnd.dts                    dts
audio/vnd.dts.hd                dtshd
audio/vnd.everad.plj                plj
# rm: audio/x-pn-realaudio
audio/vnd.hns.audio
audio/vnd.lucent.voice                lvp
audio/vnd.ms-playready.media.pya        pya
# mxmf: audio/mobile-xmf
audio/vnd.nokia.mobile-xmf
audio/vnd.nortel.vbk                vbk
audio/vnd.nuera.ecelp4800            ecelp4800
audio/vnd.nuera.ecelp7470            ecelp7470
audio/vnd.nuera.ecelp9600            ecelp9600
audio/vnd.octel.sbc
# audio/vnd.qcelp deprecated in favour of audio/qcelp
audio/vnd.rhetorex.32kadpcm
audio/vnd.sealedmedia.softseal.mpeg        smp3 smp s1m
audio/vnd.vmx.cvsd
audio/vorbis
audio/vorbis-config
image/cgm
image/fits                    fits fit fts
image/g3fax
image/gif                    gif
image/ief                    ief
image/jp2                    jp2 jpg2
image/jpeg                    jpeg jpg jpe jfif
image/jpm                    jpm jpgm
image/jpx                    jpx jpf
image/naplps
image/png                    png
image/prs.btif                    btif btf
image/prs.pti                    pti
image/t38                    t38
image/tiff                    tiff tif
image/tiff-fx                    tfx
image/vnd.adobe.photoshop            psd
image/vnd.cns.inf2
image/vnd.djvu                    djvu djv
image/vnd.dwg
image/vnd.dxf                    dxf
image/vnd.fastbidsheet                fbs
image/vnd.fpx                    fpx
image/vnd.fst                    fst
image/vnd.fujixerox.edmics-mmr            mmr
image/vnd.fujixerox.edmics-rlc            rlc
image/vnd.globalgraphics.pgb            pgb
image/vnd.microsoft.icon            ico
image/vnd.mix
image/vnd.ms-modi                mdi
image/vnd.net-fpx
image/vnd.radiance                hdr rgbe xyze
image/vnd.sealed.png                spng spn s1n
image/vnd.sealedmedia.softseal.gif        sgif sgi s1g
image/vnd.sealedmedia.softseal.jpg        sjpg sjp s1j
image/vnd.svf
image/vnd.wap.wbmp                wbmp
image/vnd.xiff                    xif
message/CPIM
message/delivery-status
message/disposition-notification
message/external-body
message/global                    u8msg
message/global-delivery-status            u8dsn
message/global-disposition-notification        u8mdn
message/global-headers                u8hdr
message/http
# cl: application/simple-filter+xml
message/imdn+xml
# message/news obsoleted by message/rfc822
message/partial
message/rfc822                    eml mail art
message/s-http
message/sip
message/sipfrag
message/tracking-status
message/vnd.si.simp
model/iges                    igs iges
model/mesh                    msh mesh silo
model/vnd.dwf                    dwf
# 3dml, 3dm: text/vnd.in3d.3dml
model/vnd.flatland.3dml
model/vnd.gdl                    gdl gsm win dor lmp rsm msm ism
model/vnd.gs-gdl
model/vnd.gtw                    gtw
model/vnd.moml+xml                moml
model/vnd.mts                    mts
model/vnd.parasolid.transmit.binary        x_b xmt_bin
model/vnd.parasolid.transmit.text        x_t xmt_txt
model/vnd.vtu                    vtu
model/vrml                    wrl vrml
multipart/alternative
multipart/appledouble
multipart/byteranges
multipart/digest
multipart/encrypted
multipart/form-data
multipart/header-set
multipart/mixed
multipart/parallel
multipart/related
multipart/report
multipart/signed
multipart/voice-message                vpm
text/calendar                    ics ifb
text/css                    css
text/csv                    csv
text/directory
text/dns                    soa zone
# text/ecmascript obsoleted by application/ecmascript
text/enriched
text/html                    html htm
# obsoleted by application/javascript
text/javascript                    js
text/parityfec
text/plain                asc txt text pm el c h cc hh cxx hxx f90
text/prs.fallenstein.rst            rst
text/prs.lines.tag                tag dsc
text/RED
text/rfc822-headers
text/richtext                    rtx
# rtf: application/rtf
text/rtf
text/rtp-enc-aescm128
text/rtx
text/sgml                    sgml sgm
text/t140
text/tab-separated-values            tsv
text/troff
text/ulpfec
text/uri-list                    uris uri
text/vnd.abc                    abc
# curl: application/vnd.curl
text/vnd.curl
text/vnd.DMClientScript                dms
text/vnd.esmertec.theme-descriptor        jtd
text/vnd.fly                    fly
text/vnd.fmi.flexstor                flx
text/vnd.graphviz                gv dot
text/vnd.in3d.3dml                3dml 3dm
text/vnd.in3d.spot                spot spo
text/vnd.IPTC.NewsML
text/vnd.IPTC.NITF
text/vnd.latex-z
text/vnd.motorola.reflex
text/vnd.ms-mediapackage            mpf
text/vnd.net2phone.commcenter.command        ccc
text/vnd.radisys.msml-basic-layout
text/vnd.si.uricatalogue            uric
text/vnd.sun.j2me.app-descriptor        jad
text/vnd.trolltech.linguist            ts
text/vnd.wap.si                    si
text/vnd.wap.sl                    sl
text/vnd.wap.wml                wml
text/vnd.wap.wmlscript                wmls
text/xml                    xml
text/xml-external-parsed-entity            ent
video/3gpp                    3gp 3gpp
video/3gpp2                    3g2 3gpp2
video/3gpp-tt
video/BMPEG
video/BT656
video/CelB
video/DV
video/H261
video/H263
video/H263-1998
video/H263-2000
video/H264
video/JPEG
video/jpeg2000
video/mj2                    mj2 mjp2
video/MP1S
video/MP2P
video/MP2T
video/mp4                    mp4 mpg4
video/MP4V-ES
video/mpeg                    mpeg mpg mpe
video/mpeg4-generic
video/MPV
video/nv
video/ogg                    ogv
video/parityfec
video/pointer
video/quicktime                    qt mov
video/raw
video/rtp-enc-aescm128
video/rtx
video/SMPTE292M
video/ulpfec
video/vc1
video/vnd.CCTV
video/vnd.dlna.mpeg-tts
video/vnd.fvt                    fvt
# rm: audio/x-pn-realaudio
video/vnd.hns.video
video/vnd.iptvforum.1dparityfec-1010
video/vnd.iptvforum.1dparityfec-2005
video/vnd.iptvforum.2dparityfec-1010
video/vnd.iptvforum.2dparityfec-2005
video/vnd.iptvforum.ttsavc
video/vnd.iptvforum.ttsmpeg2
video/vnd.motorola.video
video/vnd.motorola.videop
video/vnd.mpegurl                mxu m4u
video/vnd.ms-playready.media.pyv        pyv
video/vnd.nokia.interleaved-multimedia        nim
video/vnd.nokia.videovoip
# mp4: video/mp4
video/vnd.objectvideo
video/vnd.sealed.mpeg1                smpg s11
# smpg: video/vnd.sealed.mpeg1
video/vnd.sealed.mpeg4                s14
video/vnd.sealed.swf                sswf ssw
video/vnd.sealedmedia.softseal.mov        smov smo s1q
video/vnd.vivo

# Non-IANA types

application/mac-compactpro            cpt
application/mathml+xml                mml
application/metalink+xml            metalink
application/rss+xml                rss
application/vnd.ms-excel.addin.macroEnabled.12        xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12    xlsb
application/vnd.ms-excel.sheet.macroEnabled.12        xlsm
application/vnd.ms-excel.template.macroEnabled.12    xltm
application/vnd.ms-powerpoint.addin.macroEnabled.12        ppam
application/vnd.ms-powerpoint.presentation.macroEnabled.12    pptm
application/vnd.ms-powerpoint.slide.macroEnabled.12        sldm
application/vnd.ms-powerpoint.slideshow.macroEnabled.12        ppsm
application/vnd.ms-powerpoint.template.macroEnabled.12        potm
application/vnd.ms-word.document.macroEnabled.12    docm
application/vnd.ms-word.template.macroEnabled.12    dotm
application/vnd.oma.dd+xml            dd
application/vnd.oma.drm.content            dcf
# odf: application/vnd.oasis.opendocument.formula
application/vnd.oma.drm.dcf            o4a o4v
application/vnd.oma.drm.message            dm
application/vnd.oma.drm.rights+wbxml        drc
application/vnd.oma.drm.rights+xml        dr
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.openxmlformats-officedocument.presentationml.slide    sldx
application/vnd.openxmlformats-officedocument.presentationml.slideshow    ppsx
application/vnd.openxmlformats-officedocument.presentationml.template    potx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet    xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.template    xltx
application/vnd.openxmlformats-officedocument.wordprocessingml.document    docx
application/vnd.openxmlformats-officedocument.wordprocessingml.template    dotx
application/vnd.sun.xml.calc            sxc
application/vnd.sun.xml.calc.template        stc
application/vnd.sun.xml.draw            sxd
application/vnd.sun.xml.draw.template        std
application/vnd.sun.xml.impress            sxi
application/vnd.sun.xml.impress.template    sti
application/vnd.sun.xml.math            sxm
application/vnd.sun.xml.writer            sxw
application/vnd.sun.xml.writer.global        sxg
application/vnd.sun.xml.writer.template        stw
application/vnd.symbian.install            sis
application/vnd.wap.mms-message            mms
application/x-bcpio                bcpio
application/x-bittorrent            torrent
application/x-bzip2                bz2
application/x-cdlink                vcd
application/x-chess-pgn                pgn
application/x-cpio                cpio
application/x-csh                csh
application/x-director                dcr dir dxr
application/x-dvi                dvi
application/x-futuresplash            spl
application/x-gtar                gtar
application/x-gzip                gz tgz
application/x-hdf                hdf
application/x-java-archive            jar
application/x-java-jnlp-file            jnlp
application/x-java-pack200            pack
application/x-killustrator            kil
application/x-latex                latex
application/x-netcdf                nc cdf
application/x-perl                pl
application/x-rpm                rpm
application/x-sh                sh
application/x-shar                shar
application/x-shockwave-flash            swf
application/x-stuffit                sit
application/x-sv4cpio                sv4cpio
application/x-sv4crc                sv4crc
application/x-tar                tar
application/x-tcl                tcl
application/x-tex                tex
application/x-texinfo                texinfo texi
application/x-troff                t tr roff
application/x-troff-man                man 1 2 3 4 5 6 7 8
application/x-troff-me                me
application/x-troff-ms                ms
application/x-ustar                ustar
application/x-wais-source            src
application/x-xz                xz
audio/midi                    mid midi kar
audio/x-aiff                    aif aiff aifc
audio/x-mod                    mod ult uni m15 mtm 669 med
audio/x-mpegurl                    m3u
audio/x-ms-wax                    wax
audio/x-ms-wma                    wma
audio/x-pn-realaudio                ram rm
audio/x-realaudio                ra
audio/x-s3m                    s3m
audio/x-stm                    stm
audio/x-wav                    wav
chemical/x-xyz                    xyz
image/bmp                    bmp
image/svg+xml                    svg svgz
image/x-cmu-raster                ras
image/x-portable-anymap                pnm
image/x-portable-bitmap                pbm
image/x-portable-graymap            pgm
image/x-portable-pixmap                ppm
image/x-rgb                    rgb
image/x-targa                    tga
image/x-xbitmap                    xbm
image/x-xpixmap                    xpm
image/x-xwindowdump                xwd
text/cache-manifest                manifest
text/x-pod                    pod
text/x-setext                    etx
text/x-vcard                    vcf
video/webm                    webm
video/x-flv                    flv
video/x-ms-asf                    asx
video/x-ms-wm                    wm
video/x-ms-wmv                    wmv
video/x-ms-wmx                    wmx
video/x-ms-wvx                    wvx
video/x-msvideo                    avi
video/x-sgi-movie                movie
x-conference/x-cooltalk                ice
x-epoc/x-sisx-app                sisx
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# cat /etc/mime.types

 

四.http协议和版本介绍 

博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/12014076.html

 

五.http工作机制

1>.工作机制

http请求:
  http request
http响应:
  http response
一次http事务:
  请求
<-->响应

2>.Web资源(web resource)

一个网页由多个资源构成,打开一个页面,会有多个资源展示出来,但是每个资源都要单独请求。因此,一个"Web 页面"通常并不是单个资源,而是一组资源的集合

静态文件:
  无需服务端做出额外处理   文件后缀:.html, .txt, .jpg, .js, .css, .mp3, .avi
动态文件:
  服务端执行程序,返回执行的结果   文件后缀:.php, .jsp ,.asp

3>.提高HTTP连接性能

并行连接:
  通过多条TCP连接发起并发的HTTP请求
持久连接:
  keep
-alive,长连接,重用TCP连接,以消除连接和关闭的时延,以事务个数和时间来决定是否关闭连接
管道化连接:
  通过共享TCP连接发起并发的HTTP请求
复用的连接:
  交替传送请求和响应报文(实验阶段)

4>.HTTP连接请求

5>.串行和并行连接

6>.串行,持久连接和管道

 

六.URI

博主推荐阅读:
  https://www.cnblogs.com/yinzhengjie/p/12014076.html

 

七.网站访问量

1>.IP(独立IP)

  即Internet Protocol,指独立IP数。一天内来自相同客户机IP地址只计算一次,记录远程客户机IP地址的计算机访问网站的次数,是衡量网站流量的重要指标。

2>.PV(访问量)

  即Page View, 页面浏览量或点击量,用户每次刷新即被计算一次,PV反映的是浏览某网站的页面数,PV与来访者的数量成正比,PV并不是页面的来访者数量,而是网站被访问的页面数量

3>.UV(独立访客)

  即Unique Visitor,访问网站的一台电脑为一个访客。一天内相同的客户端只被计算一次。可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的

4>.网站访问统计 

网站访问统计示例:
  甲乙丙三人在同一台通过ADSL上网的电脑上(中间没有断网),分别访问"https://www.cnblogs.com/yinzhengjie/"网站,并且每人各浏览了2个页面,那么网站的流量统计是:"IP: 1 PV:6 UV:1"

  若三人都是ADSL重新拨号后,各浏览了2个页面,则"IP: 3 PV:6 UV:1"

  网站统计(可统计全球网站的访问量):http://www.alexa.cn/rank/

5>.QPS

QPS:
  request per second,每秒请求数
PV,QPS,并发连接数换算公式   QPS
= PV* 页⾯衍⽣连接次数/ 统计时间(86400)   并发连接数 =QPS * http平均响应时间
峰值时间:
  每天80
%的访问集中在20%的时间里,这20%时间为峰值时间
峰值时间每秒请求数(QPS)
=( 总PV数 *页⾯衍⽣连接次数)*80% ) / ( 每天秒数 * 20% )

 

八.Web服务请求处理步骤

 

1>.建立连接

  接收或拒绝连接请求

2>.接收请求

  接收客户端请求报文中对某资源的一次请求的过程。

  Web访问响应模型(Web I/O):
    单进程I/O模型:
      启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应,效率较低。
    多进程I/O模型:
      并行启动多个进程,每个进程响应一个连接请求。
      Apache默认使用的就是这种模型,C10K问题说的就是它,即并发量连接数达到1万时Apache的性能就上限了,因为来一个连接就会创建一个进程,而在Linux操作系统一切皆为文件,每个进程对应着一个文件,当并发连接数达到1万时已经是Apache的极限了。因为它开启的1万个进程太耗费资源了,     复用I
/O结构:       启动一个进程,同时响应N个连接请求。这种模型就是Nginx使用的默认模型,正因为如此它突破了Apache的C10k问题。并发达到2-3万依旧是可以hold住的哟~       实现方法:多线程模型和事件驱动         多线程模型:一个进程生成N个线程,每线程响应一个连接请求         事件驱动:一个进程处理N个请求     复用的多进程I/O模型:       启动M个进程,每个进程响应N个连接请求,同时接收M*N个请求

3>.处理请求

  服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选的主体部分对请求进行处理。
    元数据:请求报文首部     
<method> <URL> <VERSION>     HEADERS 格式 name:value     <request body>     示例:       Host: node101.yinzhengjie.org.cn 请求的主机名称       Server: Apache/2.4.7
  HTTP常用请求方式,Method     GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS

4>.访问资源

  服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源
    资源放置于本地文件系统特定的路径:DocRoot
      DocRoot > /var/www/html
      /var/www/html/images/logo.jpg
      http://node101.yinzhengjie.org.cn/images/logo.jpg
  
  web服务器资源路径映射方式:     (a)docroot     (b)alias     (c)虚拟主机docroot     (d)用户家目录docroot

5>.构建响应报文

  一旦Web服务器识别除了资源,就执行请求方法中描述的动作,并返回响应报文。响应报文中包含有响应状态码、响应首部,如果生成了响应主体的话,还包括响应主体。
    响应实体:
      如果事务处理产生了响应主体,就将内容放在响应报文中回送过去。响应报文中通常包括:
        描述了响应主体MIME类型的Content-Type首部
        描述了响应主体长度的Content-Length
        实际报文的主体内容
    URL重定向:
      web服务构建的响应并非客户端请求的资源,而是资源另外一个访问路径
        永久重定向:http://www.360buy.com
        临时重定向:http://www.taobao.com
    MIME类型:
      Web服务器要负责确定响应主体的MIME类型。多种配置服务器的方法可将MIME类型与资源管理起来
        魔法分类:
          Apache web服务器可以扫描每个资源的内容,并将其与一个已知模式表(被称为魔法文件)进行匹配,以决定每个文件的MIME类型。这样做可能比较慢,但很方便,尤其是文件没有标准扩展名时         显式分类:
          可以对Web服务器进行配置,使其不考虑文件的扩展名或内容,强制特定文件或目录内容拥有某个MIME类型         类型协商:
          有些Web服务器经过配置,可以以多种文档格式来存储资源。在这种情况下,可以配置Web服务器,使其可以通过与用户的协商来决定使用哪种格式(及相关的MIME类型)
"最好"。

6>.发送响应报文

  Web服务器通过连接发送数据时也会面临与接收数据一样的问题。服务器可能有很多条到各个客户端的连接,有些是空闲的,有些在向服务器发送数据,还有一些在向客户端回送响应数据。服务器要记录连接的状态,还要特别注意对持久连接的处理。对非持久连接而言,服务器应该在发送了整条报文之后,关闭自己这一端的连接。对持久连接来说,连接可能仍保持打开状态,在这种情况下,服务器要正确地计算Content-Length首部,不然客户端就无法知道响应什么时候结束了

7>.记录日志

  最后,当事务结束时,Web服务器会在日志文件中添加一个条目,来描述已执行的事务

 

九.HTTP服务器应用

1>.http服务器程序(静态资源服务器)

  httpd apache
  nginx
  lighttpd

  Tengine
[root@node101.yinzhengjie.org.cn ~]# curl -I www.taobao.com
HTTP/1.1 301 Moved Permanently
Server: Tengine
Date: Sat, 07 Dec 2019 00:14:51 GMT
Content-Type: text/html
Content-Length: 278
Connection: keep-alive
Location: https://www.taobao.com/
Via: cache5.cn2147[,0]
Timing-Allow-Origin: *
EagleId: 1bd3c51915756776915156874e

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# curl -I www.taobao.com
[root@node101.yinzhengjie.org.cn ~]# curl -I www.apache.com
HTTP/1.1 200 OK
Date: Sat, 07 Dec 2019 00:16:39 GMT
Server: Apache
Link: <http://www.apache.com/wp-json/>; rel="https://api.w.org/", <http://www.apache.com/>; rel=shortlink
Content-Type: text/html; charset=UTF-8

[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# curl -I www.apache.com

2>.应用程序服务器(动态资源服务器)

IIS 
  .asp
tomcat 
  .jsp
jetty 
  开源的servlet容器,基于Java的web容器
Resin 
  CAUCHO公司,支持servlets和jsp的引擎
jboss
  已经被红帽公司收购了
webshpere(IBM)
weblogic(BEA)
oc4j(Oracle)

3>.市场占有率统计

博主推荐阅读:
  https://news.netcraft.com/

posted @ 2019-12-05 06:20  尹正杰  阅读(1399)  评论(0编辑  收藏  举报