Statische Webseite
From Wikipedia, the free encyclopedia
Eine statische Webseite ist eine Webseite, die genau so gehostet wird, wie sie dem Webbrowser ausgeliefert wird,[1] im Gegensatz zu dynamischen Webseiten, die von einer Webanwendung zum Zeitpunkt das Aufrufs generiert werden. Statische Webseiten zeigen allen Benutzern gleichen Informationen und aus allen Kontexten an, vorbehaltlich der modernen Fähigkeiten eines Webservers zur Content Negotiation, Inhaltstyp oder Sprache des Dokuments anzupassen. Allerdings können statische Webseite mit JavaScript um dynamische Funktionen, wie Personalisierung oder Kommentarbereiche (z. B. Disqus), erweitert werden.[2]
Eigenschaften
Technisch sind statische Webseiten HTML-Dokumente[3], die als Dateien im Dateisystem gespeichert und vom Webserver über HTTP zur Verfügung gestellt werden. URLs mit der Dateinamenserweiterung „.html“ sind aber nicht immer statisch.
Statische Webseiten nutzen nur einen Webserver als Dienst, daher müssen keine weiteren Abhängigkeiten wie Datenbanken oder andere Anwendungsserver betrieben werden, was das Ausfallrisiko reduziert. Auch verbessert sich die Sicherheit gegenüber dynamischen Websites, da weniger Softwarekomponenten potentielle Sicherheitslücke haben können.[4] Die Websitegeschwindigkeit steigt im Vergleich zu dynamischen Websites. Auch können Cloud-Speicher zum Webhosting genutzt werden.
Statische-Website-Generatoren
Manuell erstellte statische Webseiten eignen sich für Websites mit wenigen Webseiten, die nur selten aktualisiert werden müssen. Soll eine Website viele Webseiten umfassen oder oft geändert werden, werden Static site generators (SSG) genutzt. Der Webinhalt wird in einer vereinfachten Auszeichnungssprache wie Markdown oder AsciiDoc gespeichert, dann mit einer Template-Engine als HTML-Seiten generiert und dann auf einen Webserver zur Veröffentlichung geladen.
Statische-Website-Generatoren könne dabei die meisten Features von dynamischen Content-Management-Systemen bieten, die keine benutzerspezifischen Daten verarbeiten: Metadaten, Transklusionen, automatische Inhaltsverzeichnisse, Navigationsleisten und Tags über die Inhalte der gesamten Seite. Manche bieten auch eine rudimentäre lokale Suchmaschine an.[5] Um Inhalte zu erstellen oder zu verändern, werden entweder die Quelltexte lokal angepasst, mit dem statischen Website-Generator HTML-Dateien erzeugt und dann veröffentlicht, oder Softwareentwicklungsplattformen können Quelltexte auch online verwalten, direkt mit CI/CDs HTML-Dateien erzeugen und diese als statische Datei hosten.
| Programmiersprache | Auszeichnungssprachen | Template-Engine | Metadaten | Transklusionen | Wikilinks | Bemerkung | |
|---|---|---|---|---|---|---|---|
| Jekyll | Ruby | Markdown, Textile | Liquid | Front Matter mit YAML[6] | Ja[7] | mit Plugin[8] | genutzt von GitHub-Pages |
| Middleman | Markdown | ||||||
| Hugo | Go | Markdown, AsciiDoc, reStructuredText[9] | Template-Engine von Go[10] | Front Matter mit YAML, TOML oder JSON[11] | |||
| Gatsby | React | Markdown | |||||
| Vitepress | JavaScript | Markdown[12] | Vue.js[12] | Front Matter mit YAML[13] | Ja[14] | ||
| Next.js | Markdown | ||||||
| Astro.build | Markdown | ||||||
| MkDocs | Python | Markdown | Jinja2 | Front Matter mit YAML oder MultiMarkdown Style[15] | mit Plugin[16] | mit Plugin[17] | |
| Sphinx | reStructuredText, Markdown | ||||||
| Pelican[18] | Markdown | ||||||
| Franklin[19] | Julia | Markdown | |||||
| Pandoc | Haskell | Markdown, reStructuredText, textile, MediaWiki | rudimentäres Templating[20] | Metadata blocks mit YAML oder LaTex[21] |