Wir nennen statische Webserver normalerweise statische Websites . Ihr Hauptmerkmal ist, dass der gesamte Inhalt auf dem Server vorgefertigt ist und keine zusätzliche Verarbeitung im Backend erfordert. Wenn wir eine Webseitenanforderung an einen statischen Server senden, muss der Server nur die entsprechende html
Datei basierend auf unserem Anforderungspfad (URL) zurückgeben.
Eine statische Website bezieht sich auf eine Website, die vollständig aus Seiten im HTML-Codeformat (eine Teilmenge der Standard Universal Markup Language) besteht und deren gesamter Inhalt in Webseitendateien enthalten ist. Auf Webseiten können auch verschiedene visuelle dynamische Effekte angezeigt werden, z. B. GIF-Animationen, FLASH-Animationen, rollende Untertitel usw. Websites bestehen hauptsächlich aus statischen Seiten und Codes. Im Allgemeinen werden Dateinamen mit dem Suffix htm, html, shtml usw. versehen. —— Baidu Encyclopedia
entspricht statischen Websites und ist unser häufigster dynamischer Webserver . Das größte Merkmal dieses Servertyps besteht darin, dass normalerweise nicht alle Ressourcen in Form von html
gespeichert werden, sondern Back-End-Abfragedaten benötigen, um ein Web zu bilden Seite und geben Sie sie dann an den Benutzer zurück. Der von jedem Benutzer angezeigte Inhalt kann unterschiedlich sein. Beispielsweise können wir in einem in Java
erstellten Webserver mithilfe von JSP
Webseiten zusammenfügen, um benutzerspezifische Seiten zu bilden.
(1) Dynamische Webseiten basieren auf Datenbanktechnologie, wodurch der Arbeitsaufwand für die Website-Pflege erheblich reduziert werden kann.
(2) Websites, die dynamische Webseiten-Technologie verwenden, können mehr Funktionen implementieren, z. B. Benutzerregistrierung, Benutzeranmeldung, Online-Umfragen und Benutzerverwaltung. und Bestellungen.
(3) Dynamische Webseiten sind keine eigenständigen Webseitendateien. Der Server gibt nur dann eine vollständige Webseite zurück, wenn sie vom Benutzer angefordert
wird Der Zugriff auf alle Webseiten aus der Datenbank einer Website ist für Suchmaschinen im Allgemeinen nicht möglich, oder aus technischen Gründen können Suchspider den Inhalt nach „?“ in der URL nicht crawlen Bestimmte Techniken bei der Suchmaschinenwerbung können sich an die Anforderungen von Suchmaschinen anpassen.
(5) Statische Websites sind nicht mit der Datenbank verbunden. Um den Effekt einer dynamischen Website zu erzielen, muss eine große Anzahl von Webseiten erstellt werden, von denen viele nur gefälschte Webseiten sein können und die Funktionen einer Website nicht realisieren können dynamische Website überhaupt.
——Baidu Encyclopedia
Da statische Server keine Back-End-Datenbank benötigen, ist die Struktur sehr einfach und eignet sich sehr gut für Szenarien wie Dokumentenverwaltung und Bloggen. Was das Bloggen selbst betrifft, denke ich, dass statische Websites die folgenden Merkmale aufweisen:
Sie erfordern eine geringe Serverkonfiguration, und der einfachste Server kann die Leistungsanforderungen der meisten Menschen erfüllen,
die Reaktionsgeschwindigkeit ist schnell und der Inhalt ist fertig. erstelltes html
, auf das direkt zugegriffen werden kann.
Ein html
entspricht einer url
, der Inhalt ist stabil und kann von Suchmaschinen einfach erstellt
werden
,
um eine große Website anderer Art zu erstellen, kann dies teurer sein.
Wenn Sie schnell einen statischen Server erstellen möchten, können Sie das auf Node.js
basierende http-server
Paket verwenden, mit dem die Servereinrichtung in einer Minute abgeschlossen werden kann. Die Schritte sind wie folgt:
, npm i
http-server
Geben Sie den Serverordner ein und starten Sie den Server
http-server -a 127.0.0.1 -p 9999,
sodass der Server das Verzeichnis ist, in dem sich der Serverbefehl befindet hingerichtet.
Sie können alle Dateien sehen, indem Sie localhost:9999
besuchen. Hier ist der Inhalt meiner Dateien:
Wenn wir auf den Dateinamen klicken, erhalten wir die entsprechende Datei. Wenn wir beispielsweise auf *.html
klicken, erhalten wir die Webseite:
Das sieht aus wie ein FTP
Server. Sollen wir dort aufhören?
Nein, ein qualifizierter Programmierer wird nur dann glücklich sein, wenn er selbst schmutzige Hände hat! !
Wir können die grundlegenden integrierten Node.js
-Module verwenden, um die Konstruktion abzuschließen, sodass keine zusätzlichen Toolkits installiert werden müssen.
Die Hauptaufgabe besteht darin, ein Serververzeichnis mit der folgenden Struktur zu erstellen:
web_server/ //Root-Verzeichnis |- static/ |. |- css/ |. |- style.css //style |. |. |. |- common.js //js |. |- index.js //Homepage |- app.js //Serverdatei |- mime.json //Erweiterungskonfiguration
app.js
const http = require('http');const fs = require('fs')const url = require('url')const path = require('path')FileMimes = JSON.parse(fs.readFileSync('./mime.json').toString())http.createServer (Funktion (req, res) { //1. Holen Sie sich die Adresse let pathname = url.parse(req.url).pathname pathname = pathname == '/' ? '/index.html' : pathname let extname = path.extname(pathname) //2.fs liest Datei if (pathname != '/favicon.ico') { fs.readFile('./static' + Pfadname, async (err, data) => { if (irre) { res.writeHead(404, { 'Content-Type': 'text/html;charset="utf-8"' }) res.end(err.message) zurückkehren } if (!err) { // 3. Verschiedene Inhaltsheader für verschiedene Dateien zurückgeben let mime = FileMimes[extname] res.writeHead(200, { 'Content-Type': mime + ';charset="utf-8"' }) res.end(Daten) } }) }}).listen(8081);console.log('Server läuft unter http://127.0.0.1:8081/'
)
; „.3gp“: „video/3gpp“, „.aab“: „application/x-authoware-bin“ , „.aam“: „application/x-authoware-map“ , „.aas“: „application/x-authoware-seg“ , „.acx“: „application/internet-property-stream“ , „.ai“: „application/postscript“ , „.aif“: „audio/x-aiff“ , „.aifc“: „audio/x-aiff“ , „.aiff“: „audio/x-aiff“ , „.als“: „audio/X-Alpha5“ , „.amc“: „application/x-mpeg“ , ...//Es ist zu lang, daher werde ich es hier nicht veröffentlichen. Der vollständige Code befindet sich am Ende des Artikels}
./app.js
Der Starteffekt ist wie folgt:
PS E: CodeNodedemos 3-static_web_server> node . app.js Der Server läuft unter http://127.0.0.1:8081/.
localhost:8081
um die Seite index.html
zu erhalten.
kann auch auf einem Remote-Server bereitgestellt werden.
1. Kaufen Sie einen Server.
Zu den derzeit beliebten Serveranbietern gehören
- Tencent Cloud
- Alibaba Cloud
- Huawei Cloud
Aber jetzt hat auch CSDN mitgemacht: CSDN Cloud, CSDN scheint auf Tencent Cloud zu basieren, und die Preise sind ähnlich.
2. Kaufen Sie einen Domainnamen (optional, Sie können IP verwenden, um direkt darauf zuzugreifen)
3. Website-Registrierung
4. Bereitstellung <br/> Die Bereitstellung statischer Websites ist ebenfalls sehr einfach. Da es nur wenige Fehler gibt und Sie das Hochladen neuer Blog-Dateien häufig starten und stoppen müssen,
können
Sie die Dateien direkt auf den Server kopieren und dannnode ./verwenden.
app.js.
Der Aufbau eines statischen Servers auf Basis von Node.js
ist sehr einfach. Wir können das http-server
Paket verwenden oder auf Node
basierenden Code von Hand schreiben.
Der Kerninhalt des handgeschriebenen Codes ist die mime.json
-Datei, was bedeutet, dass response
unterschiedliche Rückgabeheader für verschiedene Dateitypen zugewiesen werden.
Ende des Artikels
Das Folgende ist der mime.json
-Code (er ist zu lang):
{ „.323“: „text/h323“ , „.3gp“: „video/3gpp“, „.aab“: „application/x-authoware-bin“ , „.aam“: „application/x-authoware-map“ , „.aas“: „application/x-authoware-seg“ , „.acx“: „application/internet-property-stream“ , „.ai“: „application/postscript“ , „.aif“: „audio/x-aiff“ , „.aifc“: „audio/x-aiff“ , „.aiff“: „audio/x-aiff“ , „.als“: „audio/X-Alpha5“ , „.amc“: „application/x-mpeg“ , „.ani“: „application/octet-stream“ , „.apk“: „application/vnd.android.package-archive“ , „.asc“: „text/plain“ , „.asd“: „application/astound“ , „.asf“: „video/x-ms-asf“, „.asn“: „application/astound“ , „.asp“: „application/x-asap“ , „.asr“: „video/x-ms-asf“ , „.asx“: „video/x-ms-asf“, „.au“: „audio/basic“ , „.avb“: „application/octet-stream“ , „.avi“: „video/x-msvideo“ , „.awb“: „audio/amr-wb“ , „.axs“: „application/olescript“ , „.bas“: „text/plain“ , „.bcpio“: „application/x-bcpio“ , „.bin :“application/octet-stream“ , „.bld“: „application/bld“ , „.bld2“: „application/bld2“ , „.bmp“: „image/bmp“ , „.bpk“: „application/octet-stream“ , „.bz2“: „application/x-bzip2“ , „.c“: „text/plain“ , „.cal“: „image/x-cals“ , „.cat“: „application/vnd.ms-pkiseccat“ , „.ccn“: „application/x-cnc“ , „.cco“: „application/x-cocoa“ , „.cdf“: „application/x-cdf“ , „.cer“: „application/x-x509-ca-cert“ , „.cgi“: „magnus-internal/cgi“ , „.chat“: „application/x-chat“ , „.class“: „application/octet-stream“ , „.clp“: „application/x-msclip“, „.cmx“: „image/x-cmx“ , „.co“: „application/x-cult3d-object“ , „.cod“: „image/cis-cod“ , „.conf“: „text/plain“ , „.cpio“: „application/x-cpio“ , „.cpp“: „text/plain“ , „.cpt“: „application/mac-compactpro“ , „.crd“: „application/x-mscardfile“ , „.crl“: „application/pkix-crl“ , „.crt“: „application/x-x509-ca-cert“ , „.csh“: „application/x-csh“ , „.csm“: „chemical/x-csml“ , „.csml“: „chemical/x-csml“ , „.css“: „text/css“ , „.cur“: „application/octet-stream“ , „.dcm“: „x-lml/x-evm“ , „.dcr“: „application/x-director“ , „.dcx“: „image/x-dcx“ , „.der“: „application/x-x509-ca-cert“ , „.dhtml“: „text/html“ , „.dir“: „application/x-director“ , „.dll“: „application/x-msdownload“ , „.dmg“: „application/octet-stream“ , „.dms“: „application/octet-stream“ , „.doc“: „application/msword“ , „.docx“: „application/vnd.openxmlformats-officedocument.wordprocessingml.document“, „.dot“: „application/msword“ , „.dvi“: „application/x-dvi“ , „.dwf“: „Zeichnung/x-dwf“, „.dwg“: „application/x-autocad“ , „.dxf“: „application/x-autocad“ , „.dxr“: „application/x-director“ , „.ebk“: „application/x-expandedbook“ , „.emb“: „chemical/x-embl-dl-nucleotid“ , „.embl“: „chemical/x-embl-dl-nucleotid“ , „.eps“: „application/postscript“ , „.epub“: „application/epub+zip“ , „.eri“: „image/x-eri“ , „.es“: „Audio/Echospeech“, „.esl“: „Audio/Echospeech“, „.etc“: „application/x-earthtime“ , „.etx“: „text/x-setext“ , „.evm“: „x-lml/x-evm“ , „.evy“: „application/envoy“ , „.exe“: „application/octet-stream“ , „.fh4“: „image/x-freehand“ , „.fh5“: „image/x-freehand“ , „.fhc“: „image/x-freehand“ , „.fif“: „application/fractals“ , „.flr“: „x-world/x-vrml“ , „.flv“: „flv-application/octet-stream“ , „.fm“: „application/x-maker“ , „.fpx“: „image/x-fpx“ , „.fvi“: „video/isivideo“ , „.gau“: „chemical/x-gaußian-input“ , „.gca“: „application/x-gca-compressed“ , „.gdb“: „x-lml/x-gdb“ , „.gif“: „image/gif“ , „.gps“: „application/x-gps“ , „.gtar“: „application/x-gtar“ , „.gz“: „application/x-gzip“ , „.h“: „text/plain“ , „.hdf“: „application/x-hdf“ , „.hdm“: „text/x-hdml“ , „.hdml“: „text/x-hdml“ , „.hlp“: „application/winhlp“ , „.hqx“: „application/mac-binhex40“ , „.hta“: „application/hta“ , „.htc“: „text/x-komponente“ , „.htm“: „text/html“ , „.html“: „text/html“ , „.hts“: „text/html“ , „.htt“: „text/webviewhtml“ , „.ice“: „x-conference/x-cooltalk“ , „.ico“: „image/x-icon“ , „.ief“: „image/ief“ , „.ifm“: „image/gif“ , „.ifs“: „image/ifs“ , „.iii“: „application/x-iphone“ , „.imy“: „Audio/Melodie“ , „.ins“: „application/x-internet-signup“ , „.ips“: „application/x-ipscript“ , „.ipx“: „application/x-ipix“ , „.isp“: „application/x-internet-signup“, „.it“: „audio/x-mod“ , „.itz“: „audio/x-mod“ , „.ivr“: „i-world/i-vrml“ , „.j2k“: „image/j2k“ , „.jad“: „text/vnd.sun.j2me.app-descriptor“ , „.jam“: „application/x-jam“ , „.jar“: „application/java-archive“ , „.java“: „text/plain“ , „.jfif“: „image/pipeg“ , „.jnlp“: „application/x-java-jnlp-file“ , „.jpe“: „image/jpeg“ , „.jpeg“: „image/jpeg“ , „.jpg“: „image/jpeg“ , „.jpz“: „image/jpeg“ , „.js“: „application/x-javascript“ , „.jwc“: „application/jwc“ , „.kjx“: „application/x-kjx“ , „.lak“: „x-lml/x-lak“ , „.latex“: „application/x-latex“ , „.lcc“: „application/fastman“ , „.lcl“: „application/x-digitalloca“ , „.lcr“: „application/x-digitalloca“ , „.lgh“: „application/lgh“ , „.lha“: „application/octet-stream“ , „.lml“: „x-lml/x-lml“ , „.lmlpack“: „x-lml/x-lmlpack“ , „.log“: „text/plain“ , „.lsf“: „video/x-la-asf“, „.lsx“: „video/x-la-asf“, „.lzh“: „application/octet-stream“ , „.m13“: „application/x-msmediaview“ , „.m14“: „application/x-msmediaview“ , „.m15“: „audio/x-mod“ , „.m3u“: „audio/x-mpegurl“, „.m3url“: „audio/x-mpegurl“ , „.m4a“: „audio/mp4a-latm“ , „.m4b“: „audio/mp4a-latm“, „.m4p“: „audio/mp4a-latm“ , „.m4u“: „video/vnd.mpegurl“, „.m4v“: „video/x-m4v“ , „.ma1“: „audio/ma1“ , „.ma2“: „audio/ma2“ , „.ma3“: „audio/ma3“ , „.ma5“: „audio/ma5“ , „.man“: „application/x-troff-man“ , „.map“: „magnus-internal/imagemap“ , „.mbd“: „application/mbedlet“ , „.mct“: „application/x-mascot“ , „.mdb“: „application/x-msaccess“ , „.mdz“: „audio/x-mod“ , „.me“: „application/x-troff-me“ , „.mel“: „text/x-vmel“ , „.mht“: „message/rfc822“ , „.mhtml“: „message/rfc822“ , „.mi“: „application/x-mif“ , „.mid“: „audio/mid“ , „.midi“: „audio/midi“ , „.mif“: „application/x-mif“ , „.mil“: „image/x-cals“ , „.mio“: „audio/x-mio“ , „.mmf“: „application/x-skt-lbs“ , „.mng“: „video/x-mng“, „.mny“: „application/x-msmoney“ , „.moc“: „application/x-mocha“ , „.mocha“: „application/x-mocha“ , „.mod“: „audio/x-mod“ , „.mof“: „application/x-yumekara“ , „.mol“: „chemical/x-mdl-molfile“ , „.mop“: „chemical/x-mopac-input“, „.mov“: „video/quicktime“ , „.movie“: „video/x-sgi-movie“ , „.mp2“: „video/mpeg“ , „.mp3“: „audio/mpeg“ , „.mp4“: „video/mp4“ , „.mpa“: „video/mpeg“ , „.mpc“: „application/vnd.mpohun.certificate“ , „.mpe“: „video/mpeg“ , „.mpeg“: „video/mpeg“ , „.mpg“: „video/mpeg“ , „.mpg4“: „video/mp4“ , „.mpga“: „audio/mpeg“ , „.mpn“: „application/vnd.mophun.application“ , „.mpp“: „application/vnd.ms-project“ , „.mps“: „application/x-mapserver“ , „.mpv2“: „video/mpeg“ , „.mrl“: „text/x-mrml“ , „.mrm“: „application/x-mrm“ , „.ms“: „application/x-troff-ms“, „.msg“: „application/vnd.ms-outlook“ , „.mts“: „application/metastream“ , „.mtx“: „application/metastream“ , „.mtz“: „application/metastream“ , „.mvb“: „application/x-msmediaview“ , „.mzv“: „application/metastream“ , „.nar“: „application/zip“ , „.nbmp“: „image/nbmp“ , „.nc“: „application/x-netcdf“ , „.ndb“: „x-lml/x-ndb“ , „.ndwn“: „application/ndwn“ , „.nif“: „application/x-nif“ , „.nmz“: „application/x-scream“ , „.nokia-op-logo“: „image/vnd.nok-oplogo-color“ , „.npx“: „application/x-netfpx“ , „.nsnd“: „audio/nsnd“ , „.nva“: „application/x-neva1“ , „.nws“: „message/rfc822“ , „.oda“: „application/oda“ , „.ogg“: „audio/ogg“ , „.oom“: „application/x-AtlasMate-Plugin“ , „.p10“: „application/pkcs10“ , „.p12“: „application/x-pkcs12“ , „.p7b“: „application/x-pkcs7-certificates“ , „.p7c“: „application/x-pkcs7-mime“ , „.p7m“: „application/x-pkcs7-mime“ , „.p7r“: „application/x-pkcs7-certreqresp“ , „.p7s“: „application/x-pkcs7-signature“ , „.pac“: „audio/x-pac“ , „.pae“: „audio/x-epac“ , „.pan“: „application/x-pan“ , „.pbm“: „image/x-portable-bitmap“ , „.pcx“: „image/x-pcx“ , „.pda“: „image/x-pda“ , „.pdb“: „chemical/x-pdb“ , „.pdf“: „application/pdf“ , „.pfr“: „application/font-tdpfr“ , „.pfx“: „application/x-pkcs12“ , „.pgm“: „image/x-portable-graymap“ , „.pict“: „image/x-pict“ , „.pko“: „application/ynd.ms-pkipko“, „.pm“: „application/x-perl“ , „.pma“: „application/x-perfmon“ , „.pmc“: „application/x-perfmon“ , „.pmd“: „application/x-pmd“ , „.pml“: „application/x-perfmon“ , „.pmr“: „application/x-perfmon“ , „.pmw“: „application/x-perfmon“ , „.png“: „image/png“ , „.pnm“: „image/x-portable-anymap“ , „.pnz“: „image/png“ , „.pot,“: „application/vnd.ms-powerpoint“ , „.ppm“: „image/x-portable-pixmap“ , „.pps“: „application/vnd.ms-powerpoint“ , „.ppt“: „application/vnd.ms-powerpoint“ , „.pptx“: „application/vnd.openxmlformats-officedocument.presentationml.presentation“ , „.pqf“: „application/x-cprplayer“ , „.pqi“: „application/cprplayer“ , „.prc“: „application/x-prc“, „.prf“: „application/pics-rules“ , „.prop“: „text/plain“ , „.proxy“: „application/x-ns-proxy-autoconfig“ , „.ps“: „application/postscript“ , „.ptlk“: „application/listenup“ , „.pub“: „application/x-mspublisher“ , „.pvx“: „video/x-pv-pvx“, „.qcp“: „audio/vnd.qcelp“, „.qt“: „video/quicktime“ , „.qti“: „image/x-quicktime“ , „.qtif“: „image/x-quicktime“ , „.r3t“: „text/vnd.rn-realtext3d“ , „.ra“: „audio/x-pn-realaudio“ , „.ram“: „audio/x-pn-realaudio“ , „.rar“: „application/octet-stream“ , „.ras“: „image/x-cmu-raster“ , „.rc“: „text/plain“ , „.rdf“: „application/rdf+xml“ , „.rf“: „image/vnd.rn-realflash“ , „.rgb“: „image/x-rgb“ , „.rlf“: „application/x-richlink“ , „.rm“: „audio/x-pn-realaudio“ , „.rmf“: „audio/x-rmf“ , „.rmi“: „Audio/Mitte“ , „.rmm“: „audio/x-pn-realaudio“ , „.rmvb“: „audio/x-pn-realaudio“ , „.rnx“: „application/vnd.rn-realplayer“ , „.roff“: „application/x-troff“, „.rp“: „image/vnd.rn-realpix“ , „.rpm“: „audio/x-pn-realaudio-plugin“ , „.rt“: „text/vnd.rn-realtext“ , „.rte“: „x-lml/x-gps“ , „.rtf“: „application/rtf“ , „.rtg“: „application/metastream“ , „.rtx“: „text/richtext“ , „.rv“: „video/vnd.rn-realvideo“ , „.rwc“: „application/x-rogerwilco“, „.s3m“: „audio/x-mod“ , „.s3z“: „audio/x-mod“ , „.sca“: „application/x-supercard“ , „.scd“: „application/x-msschedule“ , „.sct“: „text/scriptlet“ , „.sdf“: „Anwendung/E-Score“ , „.sea“: „application/x-stuffit“ , „.setpay“: „application/set-paid-initiation“ , „.setreg“: „application/set-registration-initiation“ , „.sgm“: „text/x-sgml“ , „.sgml“: „text/x-sgml“ , „.sh“: „application/x-sh“ , „.shar“: „application/x-shar“, „.shtml“: „magnus-internal/parsed-html“ , „.shw“: „Anwendung/Präsentationen“ , „.si6“: „image/si6“ , „.si7“: „image/vnd.stiwap.sis“ , „.si9“: „image/vnd.lgtwap.sis“ , „.sis“: „application/vnd.symbian.install“ , „.sit“: „application/x-stuffit“ , „.skd“: „application/x-Koan“ , „.skm“: „application/x-Koan“ , „.skp“: „application/x-Koan“ , „.skt“: „application/x-Koan“ , „.slc“: „application/x-salsa“ , „.smd“: „audio/x-smd“ , „.smi“: „application/smil“ , „.smil“: „application/smil“ , „.smp“: „application/studiom“ , „.smz“: „audio/x-smd“ , „.snd“: „audio/basic“ , „.spc“: „application/x-pkcs7-certificates“ , „.spl“: „application/futuresplash“ , „.spr“: „application/x-sprite“ , „.sprite“: „application/x-sprite“ , „.sdp“: „application/sdp“ , „.spt“: „application/x-spt“ , „.src“: „application/x-wais-source“ , „.sst“: „application/vnd.ms-pkicertstore“ , „.stk“: „application/hyperstudio“ , „.stl“: „application/vnd.ms-pkistl“ , „.stm“: „text/html“ , „.svg“: „image/svg+xml“ , „.sv4cpio“: „application/x-sv4cpio“ , „.sv4crc“: „application/x-sv4crc“ , „.svf“: „image/vnd“ , „.svg“: „image/svg+xml“ , „.svh“: „image/svh“ , „.svr“: „x-world/x-svr“ , „.swf“: „application/x-shockwave-flash“ , „.swfl“: „application/x-shockwave-flash“ , „.t“: „application/x-troff“, „.tad“: „application/octet-stream“ , „.talk“: „text/x-speech“ , „.tar“: „application/x-tar“ , „.taz“: „application/x-tar“ , „.tbp“: „application/x-timbuktu“ , „.tbt“: „application/x-timbuktu“ , „.tcl“: „application/x-tcl“ , „.tex“: „application/x-tex“ , „.texi“: „application/x-texinfo“ , „.texinfo“: „application/x-texinfo“ , „.tgz“: „application/x-compressed“ , „.thm“: „application/vnd.eri.thm“ , „.tif“: „image/tiff“ , „.tiff“: „image/tiff“ , „.tki“: „application/x-tkined“ , „.tkined“: „application/x-tkined“ , „.toc“: „application/toc“ , „.toy“: „Bild/Spielzeug“ , „.tr“: „application/x-troff“ , „.trk“: „x-lml/x-gps“ , „.trm“: „application/x-msterminal“ , „.tsi“: „audio/tsplayer“ , „.tsp“: „application/dsptype“ , „.tsv“: „text/tab-separated-values“ , „.ttf“: „application/octet-stream“ , „.ttz“: „application/t-time“ , „.txt“: „text/plain“ , „.uls“: „text/iuls“ , „.ult“: „audio/x-mod“ , „.ustar“: „application/x-ustar“ , „.uu“: „application/x-uuencode“ , „.uue“: „application/x-uuencode“ , „.vcd“: „application/x-cdlink“ , „.vcf“: „text/x-vcard“ , „.vdo“: „video/vdo“ , „.vib“: „audio/vib“ , „.viv“: „video/vivo“ , „.vivo“: „video/vivo“ , „.vmd“: „application/vocaltec-media-desc“ , „.vmf“: „application/vocaltec-media-file“ , „.vmi“: „application/x-dreamcast-vms-info“ , „.vms“: „application/x-dreamcast-vms“ , „.vox“: „Audio/Voxware“, „.vqe“: „audio/x-twinvq-plugin“ , „.vqf“: „audio/x-twinvq“ , „.vql“: „audio/x-twinvq“ , „.vre“: „x-world/x-vream“ , „.vrml“: „x-world/x-vrml“ , „.vrt“: „x-world/x-vrt“ , „.vrw“: „x-world/x-vream“ , „.vts“: „Arbeitsmappe/Formel“ , „.wav“: „audio/x-wav“ , „.wax“: „audio/x-ms-wax“ , „.wbmp“: „image/vnd.wap.wbmp“ , „.wcm“: „application/vnd.ms-works“, „.wdb“: „application/vnd.ms-works“ , „.web“: „application/vnd.xara“ , „.wi“: „image/wavelet“ , „.wis“: „application/x-InstallShield“, „.wks“: „application/vnd.ms-works“, „.wm“: „video/x-ms-wm“ , „.wma“: „audio/x-ms-wma“ , „.wmd“: „application/x-ms-wmd“ , „.wmf“: „application/x-msmetafile“ , „.wml“: „text/vnd.wap.wml“ , „.wmlc“: „application/vnd.wap.wmlc“, „.wmls“: „text/vnd.wap.wmlscript“ , „.wmlsc“: „application/vnd.wap.wmlscriptc“ , „.wmlscript“: „text/vnd.wap.wmlscript“ , „.wmv“: „audio/x-ms-wmv“ , „.wmx“: „video/x-ms-wmx“, „.wmz“: „application/x-ms-wmz“ , „.wpng“: „image/x-up-wpng“, „.wps“: „application/vnd.ms-works“ , „.wpt“: „x-lml/x-gps“ , „.wri“: „application/x-mswrite“ , „.wrl“: „x-world/x-vrml“ , „.wrz“: „x-world/x-vrml“ , „.ws“: „text/vnd.wap.wmlscript“ , „.wsc“: „application/vnd.wap.wmlscriptc“ , „.wv“: „video/wavelet“ , „.wvx“: „video/x-ms-wvx“, „.wxl“: „application/x-wxl“ , „.x-gzip“: „application/x-gzip“ , „.xaf“: „x-world/x-vrml“ , „.xar“: „application/vnd.xara“ , „.xbm“: „image/x-xbitmap“ , „.xdm“: „application/x-xdma“ , „.xdma“: „application/x-xdma“ , „.xdw“: „application/vnd.fujixerox.docuworks“ , „.xht“: „application/xhtml+xml“ , „.xhtm“: „application/xhtml+xml“ , „.xhtml“: „application/xhtml+xml“ , „.xla“: „application/vnd.ms-excel“, „.xlc“: „application/vnd.ms-excel“, „.xll“: „application/x-excel“ , „.xlm“: „application/vnd.ms-excel“, „.xls“: „application/vnd.ms-excel“, „.xlsx“: „application/vnd.openxmlformats-officedocument.spreadsheetml.sheet“, „.xlt“: „application/vnd.ms-excel“, „.xlw“: „application/vnd.ms-excel“, „.xm“: „audio/x-mod“ , „.xml“: „text/plain“, „.xml“: „application/xml“, „.xmz“: „audio/x-mod“ , „.xof“: „x-world/x-vrml“ , „.xpi“: „application/x-xpinstall“ , „.xpm“: „image/x-xpixmap“ , „.xsit“: „text/xml“ , „.xsl“: „text/xml“ , „.xul“: „text/xul“ , „.xwd“: „image/x-xwindowdump“ , „.xyz“: „chemical/x-pdb“, „.yz1“: „application/x-yz1“ , „.z“: „application/x-compress“ , „.zac“: „application/x-zaurus-zac“ , „.zip“: „application/zip“ , „.json“: „application/json“}