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 , , , , and . 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-
application/ccxml+xml ccxml
application/cea-+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
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.
application/vnd.dolby.mobile.
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 --
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--- 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.
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
# 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-
audio/G726-
audio/G726-
audio/G726-
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
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
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.
audio/vnd.dolby.heaac.
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.
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-
video/H263-
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-
video/vnd.iptvforum.1dparityfec-
video/vnd.iptvforum.2dparityfec-
video/vnd.iptvforum.2dparityfec-
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. xlam
application/vnd.ms-excel.sheet.binary.macroEnabled. xlsb
application/vnd.ms-excel.sheet.macroEnabled. xlsm
application/vnd.ms-excel.template.macroEnabled. xltm
application/vnd.ms-powerpoint.addin.macroEnabled. ppam
application/vnd.ms-powerpoint.presentation.macroEnabled. pptm
application/vnd.ms-powerpoint.slide.macroEnabled. sldm
application/vnd.ms-powerpoint.slideshow.macroEnabled. ppsm
application/vnd.ms-powerpoint.template.macroEnabled. potm
application/vnd.ms-word.document.macroEnabled. docm
application/vnd.ms-word.template.macroEnabled. 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
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 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: PV: UV:1"   若三人都是ADSL重新拨号后,各浏览了2个页面,则"IP: PV: UV:1"   网站统计(可统计全球网站的访问量):http://www.alexa.cn/rank/

5>.QPS

QPS:
  request per second,每秒请求数

PV,QPS,并发连接数换算公式
  QPS= PV* 页⾯衍⽣连接次数/ 统计时间()
  并发连接数 =QPS * http平均响应时间

峰值时间:
  每天80%的访问集中在20%的时间里,这20%时间为峰值时间

峰值时间每秒请求数(QPS)=( 总PV数 *页⾯衍⽣连接次数)*% ) / ( 每天秒数 * % )

 

八.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.

  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 Moved Permanently
Server: Tengine
Date: Sat, Dec :: GMT
Content-Type: text/html
Content-Length:
Connection: keep-alive
Location: https://www.taobao.com/
Via: cache5.cn2147[,]
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 OK
Date: Sat, Dec :: 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- [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/

Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇的更多相关文章

  1. Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面

    Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.status功能概述 status页 ...

  2. Httpd服务入门知识-Httpd服务常见配置案例之显示服务器版本信息

    Httpd服务入门知识-Httpd服务常见配置案例之显示服务器版本信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.httpd配置文件的组成 1>.主要组成 Globa ...

  3. Httpd服务入门知识-Httpd服务常见配置案例之日志设定

    Httpd服务入门知识-Httpd服务常见配置案例之日志设定 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志类型 [root@node101.yinzhengjie.org ...

  4. Httpd服务入门知识-Httpd服务安装

    Httpd服务入门知识-Httpd服务安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Httpd概述 1>.Httpd介绍 20世纪90年代初,国家超级计算机应用中心 ...

  5. Httpd服务进阶知识-HTTP协议详解

    Httpd服务进阶知识-HTTP协议详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.WEB开发概述 1>.C/S编程 CS即客户端.服务器编程. 客户端.服务端之间需 ...

  6. Httpd服务入门知识-https(http over ssl)安全配置

    Httpd服务入门知识-https(http over ssl)安全配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.SSL会话的简化过程 ()客户端发送可供选择的加密方式, ...

  7. Httpd服务入门知识-使用mod_deflate模块压缩页面优化传输速度

    Httpd服务入门知识-使用mod_deflate模块压缩页面优化传输速度 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.mod_deflate模块概述 mod_deflate ...

  8. Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项

    Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ServerSignature指令概述 ...

  9. Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制

    Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基于用户的访问控制概述 认证质询: WWW-Auth ...

随机推荐

  1. Windows下ActiveMq安装与使用

    一.activeMq安装与启动 Apache Active MQ的官网 :http://activemq.apache.org/ 下载地址: http://activemq.apache.org/ac ...

  2. wordpress nginx详细环境配置安装命令和相关问题解决

    很详细的有关WordPress和nginx的环境配置安装操作步骤 指南,适合新手一步步按照命令操作安装WordPress并运行在生产环境中. 操作步骤转载自: Heap Stack blog(ping ...

  3. nginx设置防盗链

    1.一般的防盗链设置: location ~* \.(gif|jpg|png|jpeg)$ { expires 30d; valid_referers none blocke *.julyy.site ...

  4. 微信网页授权+获取用户基本信息+强制关注+JSSDK分享参数

    网页授权+获取用户基本信息+强制关注+JSSDK分享参数 //支付宝红包口令列表 public function view(){ $openid = ""; Vendor('Wei ...

  5. Sitecore 内容版本设计

    Sitecore内容变化的跟踪显着偏离既定规范.了解Sitecore中版本控制和工作流程的细节,该产品是对这些发布工具的回答. 在出版界,实时跟踪内容变化很常见,可能是由于Microsoft Word ...

  6. 排行榜 和 zset

    ZSET 使用 https://blog.csdn.net/weixin_37490221/article/details/78135036 https://www.cnblogs.com/chenz ...

  7. 使用Docker安装mysql,挂载外部配置和数据

    .挂载外部配置和数据安装 mkdir /opt mkdir /opt/mysql mkdir /opt/mysql/conf.d mkdir /opt/mysql/data/ 创建my.cnf配置文件 ...

  8. C#桌面程序启动时传入参数

    using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms; namespac ...

  9. 类例程_c#战斗程序(窗体版)

    战士类代码: class Fight { String name; int attack, speed, crit, armor;// 生命.攻击力,攻速,暴击,护甲 public int life; ...

  10. Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1

    可以看出是 maven-surefire-plugin:2.18.1 插件问题,在网上寻找解决方案如下: <plugin> <groupId>org.apache.maven. ...