CS/인프라

[인프라] 웹 서버 소프트웨어(Apache, Nginx)는 OSI 7계층 중 어디서 작동하는지 설명해보세요.

김yejin 2022. 11. 2. 16:29

 

목차


1. 웹 서버란?

2. 웹서버 기능 분석

 

 

웹 서버란?


웹 서버(Web server)는 다음의 두 가지 뜻 가운데 하나이다.
  웹 서버: 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램
  웹 서버 (하드웨어): 위에 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터
by 위키백과

 

위키백과에 따르면,

웹서버클라이언트로부터 "HTTP" 요청을 받아들이고, 웹페이지를 반환하는 컴퓨터 프로그램 또는 컴퓨터를 통칭하는 용어라고 설명하고 있다.

출처 : https://etloveguitar.tistory.com/113

즉, 위의 그림과 같이 클라이언트로부터 HTTP 요청을 받아들이고, 그 요청에 대한 응답을 HTML 웹페이지로써 반환하는 역할을 수행한다고 볼 수 있다.

 

여기서 HTTP 프로토콜이란?

  • OSI 7 계층인 application layer에 위치한 프로토콜 
  • 클라이언트-서버 프로토콜
  • 사용
    • HTML 문서와 같은 리소스들을 가져오는데 사용
    • HTTP의 확장성으로 이미지, 비디오 혹은 HTML 폼 결과 와 같은 내용을 POST 하기 위해 사용
    • 웹페이지 갱신하기위해 문서의 일부를 가져오는데 사용 (ajax 비동기 통신)

아래 이미지를 보면 HTTP는 HTML와 같은 웹페이지와 서버 사이에 위치한 프로토콜임을 확인 할 수 있다. 또한 DNS, TCP, TLS 등의 네트워크, 전송 계층 보다 한층 위인 어플리케이션 계층, 최상위계층에 속하기 때문에 아래의 계층과 관계없이 동작한다.

참고 : https://developer.mozilla.org/ko/docs/Web/HTTP/Overview

 

웹서버의 주요 기능

1. HTTP

2. 통신 기록

그외 대다수의 웹서버는 아래의 기능을 제공한다.

1. 인증

2. 정적 콘텐츠 관리

3. HTTPS 지원

4. 콘텐츠 압축

5. 가상 호스팅

6. 대용량 파일 지원

7. 대역폭 스로틀링

 

주요 소프트웨어

  • Apache
  • IIS
  • Nginx
  • GWS
  • WebtoB 

 

 

웹서버 기능 분석


국내 상용 웹서버인 webtob 를 이용하여 처음 확인하였던 웹서버의 기능을 하나씩 테스트 해보며 웹서버의 기능을 구체적으로 확인해 보았다.

 

1. HTTP

웹서버에서 제공하는 HTTP 요청을 통한 HTML 이 응답되는 과정을 보면 아래와 같다.

2. 통신 기록

웹서버는 위와 같은 HTTP 통신에 대한 기록을 log을 통해 확인할 수 있도록 한다.

위와 같이 HTTP 요청, 통신에 대한 기록을 확인 할 수 있다. 그외에도 error 로그, system 로그, 로그 레벨 조정을 통해 더 자세한 기록을 남길 수 있다.

 

3. 정적 콘텐츠 관리

다음과 같이 webtob에서 처리 가능한 static 콘텐츠들을 확인 할 수 있다.

HTTP 의 확장성에 의해 기본적인 HTML, JS 등 뿐만 아니라 gif, pdf, exe 등의 다양한 콘텐츠가 가능하다.

webtob에서 제공하는 mime type 전체는 아래와 같다.

더보기

[w5004@T2:/data/w5004/webtob/config]$ cat mime.types
# This file maps Internet media types to unique file extension(s).
# Although created for httpd, this file is used by many software systems
# and has been placed in the public domain for unlimited redisribution.
#
# The table below contains both registered and (common) unregistered types.
# A type that has no unique extension can be ignored -- they are listed
# here to guide configurations toward known types and to make it easier to
# identify "new" types.  File extensions are also commonly used to indicate
# content languages and encodings, so choose them carefully.
#
# Internet media types should be registered as described in RFC 4288.
# The registry is at <http://www.iana.org/assignments/media-types/>.
#
# MIME type                                     Extensions
application/activemessage
application/andrew-inset                        ez
application/applefile
application/applixware                          aw
application/atom+xml                            atom
application/atomcat+xml                         atomcat
application/atomicmail
application/atomsvc+xml                         atomsvc
application/auth-policy+xml
application/batch-smtp
application/beep+xml
application/cals-1840
application/ccxml+xml                           ccxml
application/cea-2018+xml
application/cellml+xml
application/cnrp+xml
application/commonground
application/conference-info+xml
application/cpl+xml
application/csta+xml
application/cstadata+xml
application/cu-seeme                            cu
application/cybercash
application/davmount+xml                        davmount
application/dca-rft
application/dec-dx
application/dialog-info+xml
application/dicom
application/dns
application/dvcs
application/ecmascript                          ecma
application/edi-consent
application/edi-x12
application/edifact
application/emma+xml                            emma
application/epp+xml
application/epub+zip                            epub
application/eshop
application/example
application/fastinfoset
application/fastsoap
application/fits
application/font-tdpfr                          pfr
application/h224
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/ipp
application/isup
application/java-archive                        jar
application/java-serialized-object              ser
application/java-vm                             class
application/javascript                          js
application/json                                json
application/kpml-request+xml
application/kpml-response+xml
application/lost+xml                            lostxml
application/mac-binhex40                        hqx
application/mac-compactpro                      cpt
application/macwriteii
application/marc                                mrc
application/mathematica                         ma nb mb
application/mathml+xml                          mathml
application/mbms-associated-procedure-description+xml
application/mbms-deregister+xml
application/mbms-envelope+xml
application/mbms-msk+xml
application/mbms-msk-response+xml
application/mbms-protection-description+xml
application/mbms-reception-report+xml
application/mbms-register+xml
application/mbms-register-response+xml
application/mbms-user-service-description+xml
application/mbox                                mbox
application/media_control+xml
application/mediaservercontrol+xml              mscml
application/mikey
application/moss-keys
application/moss-signature
application/mosskey-data
application/mosskey-request
application/mp4                                 mp4s
application/mpeg4-generic
application/mpeg4-iod
application/mpeg4-iod-xmt
application/msword                              doc dot wiz
application/mxf                                 mxf
application/nasdata
application/news-checkgroups
application/news-groupinfo
application/news-transmission
application/nss
application/ocsp-request
application/ocsp-response
application/octet-stream bin dms lha lrf lzh so iso dmg dist distz pkg bpk dump elc deploy
application/oda                                 oda
application/oebps-package+xml                   opf
application/ogg                                 ogx
application/onenote                             onetoc onetoc2 onetmp onepkg
application/parityfec
application/patch-ops-error+xml                 xer
application/pdf                                 pdf
application/pgp-encrypted                       pgp
application/pgp-keys
application/pgp-signature                       asc sig
application/pics-rules                          prf
application/pidf+xml
application/pidf-diff+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                             pki
application/pls+xml                             pls
application/poc-settings+xml
application/postscript                          ai eps ps
application/prs.alvestrand.titrax-sheet
application/prs.cww                             cww
application/prs.nprend
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+xml                  rl
application/resource-lists-diff+xml             rld
application/riscos
application/rlmi+xml
application/rls-services+xml                    rs
application/rsd+xml                             rsd
application/rss+xml                             rss
application/rtf                                 rtf
application/rtx
application/samlassertion+xml
application/samlmetadata+xml
application/sbml+xml                            sbml
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              setpay
application/set-registration
application/set-registration-initiation         setreg
application/sgml
application/sgml-open-catalog
application/shf+xml                             shf
application/sieve
application/simple-filter+xml
application/simple-message-summary
application/simplesymbolcontainer
application/slate
application/smil
application/smil+xml                            smi smil
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
application/timestamp-reply
application/tve-trigger
application/ulpfec
application/vemmi
application/vividence.scriptfile
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
application/vnd.3gpp.sms
application/vnd.3gpp2.bcmcsinfo+xml
application/vnd.3gpp2.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.air-application-installer-package+zip     air
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.amazon.ebook                    azw
application/vnd.americandynamics.acc            acc
application/vnd.amiga.ami                       ami
application/vnd.android.package-archive         apk
application/vnd.anser-web-certificate-issue-initiation  cii
application/vnd.anser-web-funds-transfer-initiation     fti
application/vnd.antix.game-component            atx
application/vnd.apple.installer+xml             mpkg
application/vnd.arastra.swi                     swi
application/vnd.audiograph                      aep
application/vnd.autopackage
application/vnd.avistar+xml
application/vnd.blueice.multipass               mpm
application/vnd.bluetooth.ep.oob
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
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.clonk.c4group                   c4g c4d c4f c4p c4u
application/vnd.commerce-battelle
application/vnd.commonspace                     csp
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.car                        car
application/vnd.curl.pcurl                      pcurl
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.mlp                       mlp
application/vnd.dolby.mobile.1
application/vnd.dolby.mobile.2
application/vnd.dpgraph                         dpg
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
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.emclient.accessrequest+xml
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
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.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                      mseed
application/vnd.fdsn.seed                       seed dataless
application/vnd.ffsns
application/vnd.fints
application/vnd.flographit                      gph
application/vnd.fluxtime.clip                   ftc
application/vnd.font-fontforge-sfd
application/vnd.framemaker                      fm frame maker book
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.hbpl
application/vnd.fujixerox.ddd                   ddd
application/vnd.fujixerox.docuworks             xdw
application/vnd.fujixerox.docuworks.binder      xbd
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.gmx                             gmx
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
application/vnd.hcl-bireports
application/vnd.hhe.lesson-player               les
application/vnd.hp-hpgl                         hpgl
application/vnd.hp-hpid                         hpid
application/vnd.hp-hps                          hps
application/vnd.hp-jlyt                         jlt
application/vnd.hp-pcl                          pcl
application/vnd.hp-pclxl                        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
application/vnd.ibm.minipay                     mpy
application/vnd.ibm.modcap                      afp listafp list3820
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
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
application/vnd.koan                            skp skd skt skm
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
application/vnd.lotus-approach                  apr
application/vnd.lotus-freelance                 pre
application/vnd.lotus-notes                     nsf
application/vnd.lotus-organizer                 org
application/vnd.lotus-screencam                 scm
application/vnd.lotus-wordpro                   lwp
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
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
application/vnd.ms-cab-compressed               cab
application/vnd.ms-excel                        xls xlm xla xlc xlt xlw
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-fontobject                   eot
application/vnd.ms-htmlhelp                     chm
application/vnd.ms-ims                          ims
application/vnd.ms-lrm                          lrm
application/vnd.ms-pki.seccat                   cat
application/vnd.ms-pki.stl                      stl
application/vnd.ms-playready.initiator+xml
application/vnd.ms-powerpoint                   ppt pps pot
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-project                      mpp mpt
application/vnd.ms-tnef
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-word.document.macroenabled.12        docm
application/vnd.ms-word.template.macroenabled.12        dotm
application/vnd.ms-works                        wps wks wcm wdb
application/vnd.ms-wpl                          wpl
application/vnd.ms-xpsdocument                  xps
application/vnd.mseq                            mseq
application/vnd.msign
application/vnd.multiad.creator
application/vnd.multiad.creator.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
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.isds-radio-presets
application/vnd.nokia.iptv.config+xml
application/vnd.nokia.landmark+wbxml
application/vnd.nokia.landmark+xml
application/vnd.nokia.landmarkcollection+xml
application/vnd.nokia.n-gage.ac+xml
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     odft
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          otm
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-scws-config
application/vnd.oma-scws-http-request
application/vnd.oma-scws-http-response
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.xcap-directory+xml
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.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.osa.netdeploy
application/vnd.osgi.bundle
application/vnd.osgi.dp                         dp
application/vnd.otps.ct-kip+xml
application/vnd.palm                            pdb pqa oprc
application/vnd.paos.xml
application/vnd.pg.format                       str
application/vnd.pg.osasli                       ei6
application/vnd.piaccess.application-licence
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
application/vnd.previewsystems.box              box
application/vnd.proteus.magazine                mgz
application/vnd.publishare-delta-tree           qps
application/vnd.pvi.ptid1                       ptid
application/vnd.pwg-multiplexed
application/vnd.pwg-xhtml-print+xml
application/vnd.qualcomm.brew-app-res
application/vnd.quark.quarkxpress               qxd qxt qwd qwt qxl qxb
application/vnd.rapid
application/vnd.recordare.musicxml              mxl
application/vnd.recordare.musicxml+xml          musicxml
application/vnd.renlearn.rlprint
application/vnd.rim.cod                         cod
application/vnd.rn-realmedia                    rm
application/vnd.route66.link66+xml              link66
application/vnd.ruckus.download
application/vnd.s3sms
application/vnd.sbm.cid
application/vnd.sbm.mid2
application/vnd.scribus
application/vnd.sealed.3df
application/vnd.sealed.csf
application/vnd.sealed.doc
application/vnd.sealed.eml
application/vnd.sealed.mht
application/vnd.sealed.net
application/vnd.sealed.ppt
application/vnd.sealed.tiff
application/vnd.sealed.xls
application/vnd.sealedmedia.softseal.html
application/vnd.sealedmedia.softseal.pdf
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
application/vnd.software602.filler.form-xml-zip
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.stardivision.calc               sdc
application/vnd.stardivision.draw               sda
application/vnd.stardivision.impress            sdd
application/vnd.stardivision.math               smf
application/vnd.stardivision.writer             sdw
application/vnd.stardivision.writer             vor
application/vnd.stardivision.writer-global      sgl
application/vnd.street-stream
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.sun.wadl+xml
application/vnd.sus-calendar                    sus susp
application/vnd.svd                             svd
application/vnd.swiftview-ics
application/vnd.symbian.install                 sis sisx
application/vnd.syncml+xml                      xsm
application/vnd.syncml.dm+wbxml                 bdm
application/vnd.syncml.dm+xml                   xdm
application/vnd.syncml.dm.notification
application/vnd.syncml.ds.notification
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                            ufd ufdl
application/vnd.uiq.theme                       utz
application/vnd.umajin                          umj
application/vnd.unity                           unityweb
application/vnd.uoml+xml                        uoml
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
application/vnd.vd-study
application/vnd.vectorworks
application/vnd.vidsoft.vidconference
application/vnd.visio                           vsd vst vss vsw
application/vnd.visionary                       vis
application/vnd.vividence.scriptfile
application/vnd.vsf                             vsf
application/vnd.wap.sic
application/vnd.wap.slc
application/vnd.wap.wbxml                       wbxml
application/vnd.wap.wmlc                        wmlc
application/vnd.wap.wmlscriptc                  wmlsc
application/vnd.webturbo                        wtb
application/vnd.wfa.wsc
application/vnd.wmc
application/vnd.wmf.bootstrap
application/vnd.wordperfect                     wpd
application/vnd.wqd                             wqd
application/vnd.wrq-hp3000-labelled
application/vnd.wt.stf                          stf
application/vnd.wv.csp+wbxml
application/vnd.wv.csp+xml
application/vnd.wv.ssp+xml
application/vnd.xara                            xar
application/vnd.xfdl                            xfdl
application/vnd.xfdl.webform
application/vnd.xmi+xml
application/vnd.xmpie.cpkg
application/vnd.xmpie.dpkg
application/vnd.xmpie.plan
application/vnd.xmpie.ppkg
application/vnd.xmpie.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       osfpvg
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
application/whoispp-query
application/whoispp-response
application/winhlp                              hlp
application/wita
application/wordperfect5.1
application/wsdl+xml                            wsdl
application/wspolicy+xml                        wspolicy
application/x-abiword                           abw
application/x-ace-compressed                    ace
application/x-authorware-bin                    aab x32 u32 vox
application/x-authorware-map                    aam
application/x-authorware-seg                    aas
application/x-bcpio                             bcpio
application/x-bittorrent                        torrent
application/x-bzip                              bz
application/x-bzip2                             bz2 boz
application/x-cdlink                            vcd
application/x-chat                              chat
application/x-chess-pgn                         pgn
application/x-compress                          z
application/x-cpio                              cpio
application/x-csh                               csh
application/x-debian-package                    deb udeb
application/x-director                  dir dcr dxr cst cct cxt w3d fgd swa
application/x-doom                              wad
application/x-dtbncx+xml                        ncx
application/x-dtbook+xml                        dtb
application/x-dtbresource+xml                   res
application/x-dvi                               dvi
application/x-font-bdf                          bdf
application/x-font-dos
application/x-font-framemaker
application/x-font-ghostscript                  gsf
application/x-font-libgrx
application/x-font-linux-psf                    psf
application/x-font-otf                          otf
application/x-font-pcf                          pcf
application/x-font-snf                          snf
application/x-font-speedo
application/x-font-sunos-news
application/x-font-ttf                          ttf ttc
application/x-font-type1                        pfa pfb pfm afm
application/x-font-vfont
application/x-futuresplash                      spl
application/x-gnumeric                          gnumeric
application/x-gtar                              gtar
application/x-gzip                              gz
application/x-hdf                               hdf
application/x-java-jnlp-file                    jnlp
application/x-latex                             latex
application/x-mobipocket-ebook                  prc mobi
application/x-ms-application                    application
application/x-ms-wmd                            wmd
application/x-ms-wmz                            wmz
application/x-ms-xbap                           xbap
application/x-msaccess                          mdb
application/x-msbinder                          obd
application/x-mscardfile                        crd
application/x-msclip                            clp
application/x-msdownload                        exe dll com bat msi
application/x-msmediaview                       mvb m13 m14
application/x-msmetafile                        wmf
application/x-msmoney                           mny
application/x-mspublisher                       pub
application/x-msschedule                        scd
application/x-msterminal                        trm
application/x-mswrite                           wri
application/x-netcdf                            nc cdf
application/x-pkcs12                            p12 pfx
application/x-pkcs7-certificates                p7b spc
application/x-pkcs7-certreqresp                 p7r
application/x-rar-compressed                    rar
application/x-sh                                sh
application/x-shar                              shar
application/x-shockwave-flash                   swf
application/x-silverlight-app                   xap
application/x-stuffit                           sit
application/x-stuffitx                          sitx
application/x-sv4cpio                           sv4cpio
application/x-sv4crc                            sv4crc
application/x-tar                               tar
application/x-tcl                               tcl
application/x-tex                               tex
application/x-tex-tfm                           tfm
application/x-texinfo                           texinfo texi
application/x-ustar                             ustar
application/x-wais-source                       src
application/x-x509-ca-cert                      der crt cacert
application/x-x509-server-cert          scert
application/x-x509-user-cert                    ucert
application/x-x509-email-cert           ecert
application/x-xfig                              fig
application/x-xpinstall                         xpi
application/x400-bp
application/xcap-att+xml
application/xcap-caps+xml
application/xcap-el+xml
application/xcap-error+xml
application/xcap-ns+xml
application/xcon-conference-info-diff+xml
application/xcon-conference-info+xml
application/xenc+xml                            xenc
application/xhtml+xml                           xhtml xht
application/xhtml-voice+xml
application/xml                                 xml xsl
application/xml-dtd                             dtd
application/xml-external-parsed-entity
application/xmpp+xml
application/xop+xml                             xop
application/xslt+xml                            xslt
application/xspf+xml                            xspf
application/xv+xml                              mxml xhvml xvml xvm
application/zip                                 zip
audio/32kadpcm
audio/3gpp
audio/3gpp2
audio/ac3
audio/adpcm                                     adp
audio/amr
audio/amr-wb
audio/amr-wb+
audio/asc
audio/basic                                     au snd
audio/bv16
audio/bv32
audio/clearmode
audio/cn
audio/dat12
audio/dls
audio/dsr-es201108
audio/dsr-es202050
audio/dsr-es202211
audio/dsr-es202212
audio/dvi4
audio/eac3
audio/evrc
audio/evrc-qcp
audio/evrc0
audio/evrc1
audio/evrcb
audio/evrcb0
audio/evrcb1
audio/evrcwb
audio/evrcwb0
audio/evrcwb1
audio/example
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
audio/l16
audio/l20
audio/l24
audio/l8
audio/lpc
audio/midi                                      mid midi kar rmi
audio/mobile-xmf
audio/mp4                                       mp4a
audio/mp4a-latm
audio/mpa
audio/mpa-robust
audio/mpeg                                      mpga mp2 mp2a mp3 m2a m3a
audio/mpeg4-generic
audio/ogg                                       oga ogg spx
audio/parityfec
audio/pcma
audio/pcma-wb
audio/pcmu-wb
audio/pcmu
audio/prs.sid
audio/qcelp
audio/red
audio/rtp-enc-aescm128
audio/rtp-midi
audio/rtx
audio/smv
audio/smv0
audio/smv-qcp
audio/sp-midi
audio/t140c
audio/t38
audio/telephone-event
audio/tone
audio/ulpfec
audio/vdvi
audio/vmr-wb
audio/vnd.3gpp.iufp
audio/vnd.4sb
audio/vnd.audiokoz
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
audio/vnd.dolby.mps
audio/vnd.dolby.pl2
audio/vnd.dolby.pl2x
audio/vnd.dolby.pl2z
audio/vnd.dts                                   dts
audio/vnd.dts.hd                                dtshd
audio/vnd.everad.plj
audio/vnd.hns.audio
audio/vnd.lucent.voice                          lvp
audio/vnd.ms-playready.media.pya                pya
audio/vnd.nokia.mobile-xmf
audio/vnd.nortel.vbk
audio/vnd.nuera.ecelp4800                       ecelp4800
audio/vnd.nuera.ecelp7470                       ecelp7470
audio/vnd.nuera.ecelp9600                       ecelp9600
audio/vnd.octel.sbc
audio/vnd.qcelp
audio/vnd.rhetorex.32kadpcm
audio/vnd.sealedmedia.softseal.mpeg
audio/vnd.vmx.cvsd
audio/vorbis
audio/vorbis-config
audio/x-aac                                     aac
audio/x-aiff                                    aif aiff aifc
audio/x-mpegurl                                 m3u
audio/x-ms-wax                                  wax
audio/x-ms-wma                                  wma
audio/x-pn-realaudio                            ram ra
audio/x-pn-realaudio-plugin                     rmp
audio/x-wav                                     wav
chemical/x-cdx                                  cdx
chemical/x-cif                                  cif
chemical/x-cmdf                                 cmdf
chemical/x-cml                                  cml
chemical/x-csml                                 csml
chemical/x-pdb
chemical/x-xyz                                  xyz
image/bmp                                       bmp
image/cgm                                       cgm
image/example
image/fits
image/g3fax                                     g3
image/gif                                       gif
image/ief                                       ief
image/jp2
image/jpeg                                      jpeg jpg jpe jfif pjpeg pjp
image/jpm
image/jpx
image/naplps
image/png                                       png
image/prs.btif                                  btif
image/prs.pti
image/svg+xml                                   svg svgz
image/t38
image/tiff                                      tiff tif
image/tiff-fx
image/vnd.adobe.photoshop                       psd
image/vnd.cns.inf2
image/vnd.djvu                                  djvu djv
image/vnd.dwg                                   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
image/vnd.microsoft.icon
image/vnd.mix
image/vnd.ms-modi                               mdi
image/vnd.net-fpx                               npx
image/vnd.radiance
image/vnd.sealed.png
image/vnd.sealedmedia.softseal.gif
image/vnd.sealedmedia.softseal.jpg
image/vnd.svf                           svf
image/vnd.wap.wbmp                              wbmp
image/vnd.xiff                                  xif
image/x-cmu-raster                              ras
image/x-cmx                                     cmx
image/x-freehand                                fh fhc fh4 fh5 fh7
image/x-icon                                    ico
image/x-pcx                                     pcx
image/x-pict                                    pic pct
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-xbitmap                                 xbm
image/x-xpixmap                                 xpm
image/x-xwindowdump                             xwd
message/cpim
message/delivery-status
message/disposition-notification
message/example
message/external-body
message/global
message/global-delivery-status
message/global-disposition-notification
message/global-headers
message/http
message/imdn+xml
message/news
message/partial
message/rfc822                                  eml mime mht mhtml
message/s-http
message/sip
message/sipfrag
message/tracking-status
message/vnd.si.simp
model/example
model/iges                                      igs iges
model/mesh                                      msh mesh silo
model/vnd.dwf                                   dwf
model/vnd.flatland.3dml
model/vnd.gdl                                   gdl
model/vnd.gs-gdl
model/vnd.gs.gdl
model/vnd.gtw                                   gtw
model/vnd.moml+xml
model/vnd.mts                                   mts
model/vnd.parasolid.transmit.binary
model/vnd.parasolid.transmit.text
model/vnd.vtu                                   vtu
model/vrml                                      wrl vrml
multipart/alternative
multipart/appledouble
multipart/byteranges
multipart/digest
multipart/encrypted
multipart/example
multipart/form-data
multipart/header-set
multipart/mixed
multipart/parallel
multipart/related
multipart/report
multipart/signed
multipart/voice-message
text/calendar                                   ics ifb
text/css                                        css
text/csv                                        csv
text/directory
text/dns
text/ecmascript
text/enriched
text/example
text/html                                       html htm
text/javascript
text/parityfec
text/plain                                      txt text conf def list log in
text/prs.fallenstein.rst
text/prs.lines.tag                              dsc
text/red
text/rfc822-headers
text/richtext                                   rtx
text/rtf
text/rtp-enc-aescm128
text/rtx
text/sgml                                       sgml sgm
text/t140
text/tab-separated-values                       tsv
text/troff                                      t tr roff man me ms
text/ulpfec
text/uri-list                                   uri uris urls
text/vnd.abc
text/vnd.curl                                   curl
text/vnd.curl.dcurl                             dcurl
text/vnd.curl.scurl                             scurl
text/vnd.curl.mcurl                             mcurl
text/vnd.dmclientscript
text/vnd.esmertec.theme-descriptor
text/vnd.fly                                    fly
text/vnd.fmi.flexstor                           flx
text/vnd.graphviz                               gv
text/vnd.in3d.3dml                              3dml
text/vnd.in3d.spot                              spot
text/vnd.iptc.newsml
text/vnd.iptc.nitf
text/vnd.latex-z
text/vnd.motorola.reflex
text/vnd.ms-mediapackage
text/vnd.net2phone.commcenter.command
text/vnd.si.uricatalogue
text/vnd.sun.j2me.app-descriptor                jad
text/vnd.trolltech.linguist
text/vnd.wap.si
text/vnd.wap.sl
text/vnd.wap.wml                                wml
text/vnd.wap.wmlscript                          wmls
text/x-asm                                      s asm
text/x-c                                        c cc cxx cpp h hh dic
text/x-fortran                                  f for f77 f90
text/x-pascal                                   p pas
text/x-java-source                              java
text/x-setext                                   etx
text/x-uuencode                                 uu uue
text/x-vcalendar                                vcs
text/x-vcard                                    vcf
text/xml
text/xml-external-parsed-entity
video/3gpp                                      3gp
video/3gpp-tt
video/3gpp2                                     3g2
video/bmpeg
video/bt656
video/celb
video/dv
video/example
video/h261                                      h261
video/h263                                      h263
video/h263-1998
video/h263-2000
video/h264                                      h264
video/jpeg                                      jpgv
video/jpeg2000
video/jpm                                       jpm jpgm
video/mj2                                       mj2 mjp2
video/mp1s
video/mp2p
video/mp2t
video/mp4                                       mp4 mp4v mpg4
video/mp4v-es
video/mpeg                                      mpeg mpg mpe m1v m2v mpe mpv mpegv
video/mpeg4-generic
video/mpv
video/nv
video/ogg                                       ogv
video/parityfec
video/pointer
video/quicktime                                 qt mov moov
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
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
video/vnd.nokia.videovoip
video/vnd.objectvideo
video/vnd.sealed.mpeg1
video/vnd.sealed.mpeg4
video/vnd.sealed.swf
video/vnd.sealedmedia.softseal.mov
video/vnd.vivo                                  viv vivo
video/x-f4v                                     f4v
video/x-fli                                     fli
video/x-flv                                     flv
video/x-m4v                                     m4v
video/x-ms-asf                                  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

# Added Extention
application/x-hwp                               hwp
application/gul                         gul
application/octet-stream                ini
application/x-pe-win32-x86                      ocx
application/alz                 alz
application/astound             asd asn
application/fastman             lcc
application/mbedlet             mbd
application/oba                 oba
application/studiom             smp
application/timbuktu            tbt
application/x-javascript;charset=UTF-8          jsu
application/x-aim                       aim
application/x-asap                      asp
application/x-earthtime         etc
application/x-envoy             evy
application/x-javascript-config         jsc
application/x-mif                       mif mi
application/x-mocha             mocha moc
application/x-NET-Install               ins
application/x-ns-proxy-autoconfig       proxy
application/x-salsa             slc
application/x-sprite            spr sprite
application/x-perl                      perl
application/x-timbuktu          tbp
application/x-tkined            tki tkined
application/pre-encrypted       enc
application/x-fortezza-ckl      ckl
audio/echospeech                es esl
audio/x-pac                             pac
audio/x-epac                            pae
audio/x-liveaudio                       lam
image/fif                                       fif
image/lef                               lef
image/ifs                               ifs
image/wavelet                   wi
image/x-photo-cd                        pcd
text/x-speech                   talk
video/isivideo                          fvi
video/x-mpeg2                   mpv2 mp2v
video/wavelet                           wv
x-world/x-svr                           svr
x-world/x-vrt                           vrt
magnus-internal/imagemap        map

 

4. HTTPS 지원

SSL 인증서를 이용하여 HTTPS 설정이 가능하다.

설정 방법은 아래와 같다.

여기서 인증서는 임의의 도메인인 yejin.site에 대하여 사설 인증서를  생성하여 적용하였다.

## vhost 에 8443 포트에 대하여 SSLFLAG=Y 설정
test4_ssl       DOCROOT="/data/w5004/webtob/docs/test4",
                HOSTNAME = "test4.yejin.site",
                HOSTALIAS = "test4.yejin.site",
                PORT = "8443",
                ServiceOrder = "ext,uri",
                #ServiceOrder = "uri,ext",
                ERRORDOCUMENT = "400,401,403,404,405,406,503",
                METHOD = "GET, POST, HEAD, -OPTIONS",
#               Headers ="X-XSS,X-Content,strict,X-Download",
                SSLFLAG = Y,
                SSLNAME = "ssl_yejin",
                #URLRewrite = Y,
                #URLRewriteConfig = "/data/w5004/webtob/config/rewrite.conf",
                LOGGING = "test_acc",
                ERRORLOG = "test_err"
                
## 해당 도메인에 적합한 ssl 인증서 설정
*SSL
ssl_yejin       CertificateFile="/data/w5004/webtob/ssl/newcert.pem",
                CertificateKeyFile="/data/w5004/webtob/ssl/newcert.pem",
                #CACertificateFile="/data/w5004/webtob/ssl/CA.pem",
                #PassPhraseDialog = "exec:/data/w5004/webtob/ssl/passwd.sh",
                #PassPhraseDialog= "file:/data/w5004/webtob/ssl/passwd.txt",
                Protocols="-SSLv2, -SSLv3",
                RequiredCiphers = "HIGH:MEDIUM:!SSLv2:!PSK:!SRP:!ADH:!AECDH:!EXP:!RC4:!IDEA:!3DES"

8443 포트에 대하여 *.yejin.site 도메인에 대한 인증서를 적용 한 결과이다.

크롬과 같은 브라우저를 통해 인증서가 잘적용이 되었는지, HTTPS 프로토콜에대 한 검증이 가능하다.

 

5. 콘텐츠 압축

아래와 같이 간단히 "text/html"에 대하여만 HtmlCompression 설정을 하였다.

*HTH_THREAD
hth_worker
                SendfileThreads = 0,
                AccessLogThread = Y,
                #ReadBufSize=1048576, #1M
                HtmlsCompression="text/html",
                SendfileThreshold=0,
                WorkerThreads=8

compression를 사용하여 요청의 content type이 gzip 의 형태로 들어가게 되어 사이즈가 큰 콘텐츠의 경우 효과적으로 전송시간을 단축할 수 있다.

access log에 압축률을 표기하도록 하여 확인한 결과이다.

기존의 20011698 byte에서 22098 byte로 99% 압축을 한 것을 볼 수 있다.

 

또한 브라우저에 확인시 

아래와 같이 encoding이 gzip, deflate 형태로 들어오는 것을 확인 할 수 있다.

 

6. 가상 호스팅

하나의 웹서버에서 여러개의 vhost 가상 호스트를 두어 여러 도메인으로 서비스 할 수 있다.

아래와 같이 *VHOST 부분에 서로 다른 HOSTNAME을 설정하여 여러개의 가상 호스트를 서비스할 수 있다.

 

 

 

그외에도 웹서버는 proxy로서의 기능을 하며, 로드 밸런싱 기능, 장애처리를 위한 분산 서버 기능, 보안을 위한 앞단의 공격 대비 등 다양한 기능을 제공한다.

 

 

기술면접 질문 정리


1. 웹 서버 소프트웨어(Apache, Nginx)는 OSI 7계층 중 어디서 작동하는지 설명해보세요.

웹 서버는 HTTP 프로토콜을 사용해 html 데이터를 클라이언트에 제공하는 서버입니다. 
그리고 HTTP 프로토콜은 OSI 7계층인 Application Layer에 위치해 있습니다. 
브라우저와 서버 사이에 정보를 주고받기 위해 사용하며, Apache, Nginx는 웹 서버 중의 하나이므로 Applicaion 계층에서 작동합니다.

 

> 추가 면접 질문

웹서버 vs 웹 어플리케이션 서버

https://yejincode.tistory.com/23

 

[인프라] WAS, ThreadPool 이란?

기술면접 질문 정리 1. WAS 가 무엇인가요? WAS 란, 넓은 범위에서 보았을 때 일종의 미들웨어로서 Web Application 을 실행시키기 위한 소프트웨어 플랫폼이라고 할 수 있습니다. 기능적 측면에서 보았

yejincode.tistory.com