Statische Website -Generatoren (SSGs) sind in den letzten zehn Jahren immer beliebter geworden. In diesem Artikel wird untersucht, wie der Entwickler-freundliche Erstellungsprozess, die einfachere Bereitstellung, eine verbesserte Leistung und eine bessere Sicherheit Ihrer Website zugute kommen können. Lassen Sie uns zunächst die Bedeutung des Wortes "statischer Website -Generator" ...
klarstellenSchlüsselpunkte
Was ist eine statische Website?
Erinnern Sie sich an die erste von Ihnen erstellte Website. Die meisten Entwickler erstellen zunächst eine Reihe von Seiten, die in einer einzelnen HTML -Datei enthalten sind. Jede Seite ruft Ressourcen wie Bilder, CSS und einen JavaScript -Code auf. Sie können diese Dateien direkt über das Dateisystem starten, ohne dass ein Webserver erforderlich ist. Zu dieser Zeit war alles einfach. Aber wenn die Website größer und komplexer wird, folgen Schwierigkeiten. Betrachten Sie die Navigation: Sie kann in jeder Datei ähnlich sein, aber das Hinzufügen einer neuen Seite erfordert die Aktualisierung aller anderen Seiten. Sogar Hinweise auf CSS und Bilder können ungeschickt werden, wenn sich die Ordnerstruktur entwickelt. Möglicherweise haben Sie Optionen wie die serverseitige Einbeziehung oder PHP berücksichtigt, aber die einfachere Option ist möglicherweise das Content Management System (CMS)…
Was ist ein Content -Management -System?
CMS bietet normalerweise ein Verwaltungsbedienfeld. Mit diesen Panels können Autoren in der Backend -Datenbank gespeicherte Inhalte schreiben. Wenn ein Besucher eine URL anfordert, wird das CMS: 1. Anfordern Sie den entsprechenden Inhalt aus der Datenbank an. Vorlage; 5. Format Die HTML -Seite wird an den Browser des Besuchers zurückgegeben.
Dies geschieht fast sofort. Eine Vorlage kann Code enthalten, die Menüs basierend auf der Navigationshierarchie generieren. Alles lief gut, wobei mehr als 4 von 10 Personen ihre Website mithilfe des Open Source WordPress CMS basierend auf PHP/MySQL verwalten. Leider bringt CMS eine Reihe verschiedener Probleme mit:- Sie müssen die Funktionsweise von CMS einhalten. Das Hinzufügen von benutzerdefiniertem Text oder Komponenten kann umständlich sein; Ein Software -Upgrade oder ein Datenbankfehler kann dazu führen, dass Ihre Website sinkt.
Was ist ein statischer Website -Generator?
ssg ist ein Kompromiss zwischen einer statischen Website, die manuell codiert und ein vollständiges CMS verwendet und gleichzeitig die Vorteile beider beibehält. Im Wesentlichen können Sie CMS-ähnliche Konzepte wie Vorlagen verwenden, um Websites basierend auf statischen HTML-Seiten zu generieren. Inhalt kann aus einer Datenbank, einer Markdown -Datei, einer API oder einem beliebigen praktischen Speicherort extrahiert werden. Die Site -Generierung kann auf Ihrem Entwicklungsgerät, auf dem Server in Staging oder mit Diensten erstellt werden, wenn Änderungen in ein Code -Repository weitergegeben werden. Die generierten HTML-Dateien und andere Ressourcen werden dann auf dem Echtzeit-Webserver bereitgestellt. Der Begriff "statisch" bedeutet nicht "unverändert". SSG erstellt die Seite einmal, während CMS die Seite jedes Mal erstellt, wenn sie angefordert wird. Das Endergebnis ist das gleiche, und der Benutzer wird den Unterschied nie kennen. Das verwandte Konzept ist "kopflos" oder "entkoppelt" CMS. Diese Systeme verwenden Schnittstellen wie WordPress, um die Content Management zu verarbeiten, ermöglichen es anderen Systemen jedoch, über die REST -API oder die GraphQL -API auf Daten zugreifen zu können. Daher können SSGs wie ELEDY statische Websites mit WordPress -Seiteninhalten erstellen, die von internen Servern extrahiert werden. Die generierte HTML -Datei kann auf einen Webserver hochgeladen werden. WordPress -Installationen erfordern jedoch nie öffentlich von außerhalb der Organisation. Der Begriff Jamstack (JavaScript, API und Tagging) wird auch in Aspekten verwendet, die sich auf statische Stellen beziehen. Es bezieht sich auf den Anstieg von Frameworks, serverlosen Funktionen und verwandten Tools, die statische Dateien generieren, aber die Erstellung komplexerer Interaktivität ermöglichen. Zu den beliebten statischen Website -Generatoren zählen Jekyll, Elegy, Gatsby, Hugo und Metalsmith. SSG ist in den meisten Sprachen erhältlich (siehe StaticGen für weitere Informationen). Frameworks wie Next.js rendern die Seite nach Möglichkeit statisch, ermöglicht es den Entwicklern jedoch auch, gegebenenfalls den serverseitigen Code auszuführen. Schauen wir uns die Vorteile der Verwendung von SSG ...
an1 cms begrenzt normalerweise Ihre Optionen, da sie mit bestimmten Feldern an eine Datenbank gebunden sind. Wenn Sie bestimmte Seiten ein Twitter -Widget hinzufügen möchten, benötigen Sie normalerweise ein Plugin, einen Shortcode oder eine Anpassungsfunktion. In einer statischen Website können Widgets einfach direkt Dateien einfügen oder Teile/Fragmente verwenden. Grenzwerte sind selten, da Sie nicht von CMS beschränkten Einschränkungen unterliegen.
2
Die meisten CMS-Anwendungen bieten integrierte oder plug-in-gesteuerte Caching-Systeme, um sicherzustellen, dass Seiten so weit wie möglich generiert und wiederverwendet werden. Dies funktioniert, obwohl der Overhead der Verwaltung, Überprüfung und Regeneration von zwischengespeicherten Seiten bestehen bleibt. Statische Websites können präzise Seiten erstellen, die niemals auslaufen müssen. Dateien können vor der Bereitstellung auch skaliert werden, um eine minimale Last sicherzustellen, und können einfach über das Global Content Distribution Network (CDN) bereitgestellt werden. Statische Sites werden immer besser als CMS-gesteuerte Versionen mit vorlagenähnlichen Vorlagen abschneiden.
3Typische WordPress-Installation erfordert:- Anwendbare Betriebssysteme wie Ubuntu oder CentOS;- Webserver wie Apache oder Nginx;- PHP mit zugehörigen Erweiterungen und Webserverkonfiguration;- MySQL;- WordPress-Anwendungen;- alle erforderlichen Plugins ; - Thema/Vorlagencode.
Diese Abhängigkeiten müssen installiert und verwaltet werden. WordPress erfordert weniger Aufwand als einige andere Anwendungen, aber ein einzelnes Update kann weiterhin zu Verwirrung führen. Statische Website -Generatoren benötigen möglicherweise so viele Abhängigkeiten, können jedoch auf dem PC des Entwicklers ausgeführt werden und werden nicht auf einem Produktionsserver bereitgestellt. SSG generiert Client -HTML -Dateien und verwandte Ressourcen, die auf jedem Webserver gehostet werden können. Es ist nicht erforderlich, etwas anderes zu installieren, zu verwalten oder zu warten.
4 CMS ist komplex, mit vielen beweglichen Teilen und Ausfallpunkten. Nachdem Sie Ihre WordPress -Site für eine Weile ausgeführt haben, werden Sie mit ziemlicher Sicherheit auf den schrecklichen
"kann die Datenbankverbindung nicht festgelegt"begegnen. Unerwartete CMS -Probleme können sich aus plötzlichen Verkehrsschwächen ergeben, die Server, Absturzdatenbanken überlasten oder aktive Verbindungen begrenzen können. Es ist weniger Arbeit, statische Standorte bereitzustellen. In vielen Fällen muss der Server nur flache Dateien zurückgeben, sodass die Skalierung auf der Grundlage der Verkehrsanforderungen einfach wird. Es ist immer noch möglich, den Webserver zu stürzen oder die API zu überladen. Dies erfordert jedoch eine Menge gleichzeitiger Anfragen.
5Es gibt viele Gründe, warum jemand Ihre Website angreifen möchte. Traffic Hijacking, böswillige Werbung, Links, Authentizitäts -Spoofing und Malware -Hosting ermöglichen es nicht autorisierte Benutzer, Geld und/oder Lob zu erhalten. CMS eröffnet viele Angriffsvektoren. Das Offensichtlichste ist der Anmeldebildschirm: Es ist nur so sicher wie das schwächste Benutzerkennwort. Beachten Sie, dass jede Seite, auf der der serverseitige Code ausgeführt wird, auch potenzielle Schwachstellen bietet-wie Spam über Ihr Kontaktformular. Es ist möglicherweise nicht offensichtlich, dass jemand Zugang gewonnen hat. Statische Websites erfordern möglicherweise nur geringe serverseitige Funktionen. Es gibt immer noch einige Risiken, aber sie sind selten so problematisch wie zuvor:- Jemand kann über SSH oder FTP auf den Server zugreifen und die Seite oder die Upload-Dateien hochladen. Es ist jedoch in der Regel einfach, Änderungen zu überprüfen (wahrscheinlich mit Git -Status), die gesamte Site zu löschen und dann erneut zu regenerieren. Code - z. Gute Sicherheitspraktiken, CORs und CSP helfen.
6.Sie können Wochen damit verbringen, ein attraktives CMS -Thema für Kunden zu erstellen, das ihre Website innerhalb von Minuten nach Übergabe zerstören! Die Verwendung von CMS ist nicht unbedingt einfach und bietet für Inhaltsredakteure erhebliche Leistung. Sie können Berechtigungen wie Plugin -Installation sperren, dies verhindert jedoch nicht, dass jemand Schriftarten wechselt, widersprüchliche Farben einführt, minderwertige Fotos hinzufügt oder Layouts. Statische Standorte können je nach Wahl begrenzt oder flexibel sein. Wenn Sie Markdown- oder ähnliche Flatendateien verwenden, ist es unwahrscheinlich, dass der Editor Fehler macht oder sich negativ auf den Seitenstil auswirkt. Einige Personen werden das CMS-Content-Management-Panel vermissen, aber Sie können: 1. verwenden Sie ihre vorhandenen CMS und säubern Sie die Daten, bevor Sie sie generieren.
7. Datenbankdaten sind volatil. Mit CMS können Benutzer Inhalte jederzeit hinzufügen, löschen oder ändern. Das Wischen der gesamten Site erfordert nur wenige Klicks. Sie können die Datenbank sichern, aber selbst wenn Sie dies regelmäßig tun, verlieren Sie möglicherweise immer noch einige Daten. Statische Stellen sind normalerweise sicherer. Inhalte können in:- Flat-Dateien gespeichert werden: Sie können dann mit Git oder ähnlichen Systemen versioniert werden. Alte Inhalte werden erhalten und Änderungen können schnell rückgängig gemacht werden.
Tests ist ebenfalls einfacher geworden, da die Website überall generiert und vorsichtigt werden kann - auch auf dem PC des Clients. Mit mehr Aufwand können Sie Bereitstellungssysteme implementieren, um Ihre Website remote zu erstellen und Ihren Live -Server zu aktualisieren, nachdem Sie neue Inhalte in das Repository, die Überprüfung und die Genehmigung übertragen haben. In der statischen Weltwelt ist alles wunderschön. Ja? Bitte lesen Sie meinen Folgeartikel "7 Gründe, um keinen statischen Website-Generator zu verwenden". Für eine praktische Demonstration des Erstellens einer Website mit dem statischen Website -Generator siehe: - So erstellen Sie eine statische Site mit Metalsmith;
FAQ für statische Websitegeneratoren (FAQ)
Was sind die Hauptvorteile der Verwendung statischer Website -Generatoren?
Static Website Generator bietet mehrere Vorteile. Erstens bieten sie eine verbesserte Sicherheit, da sie keine Datenbank benötigen, wodurch das Risiko von Angriffen verringert wird. Zweitens bieten sie eine verbesserte Leistung. Da die Websites vorgefertigt sind, laden sie schneller und bieten eine bessere Benutzererfahrung. Drittens sind sie kostengünstig. Das Hosting einer statischen Site ist normalerweise günstiger als eine dynamische Website. Schließlich bieten sie die Versioning -Steuerung für Inhalte an, sodass Sie Änderungen verfolgen und bei Bedarf an frühere Versionen wiederherstellen können.statisches Website-Generator verbessert die Website der Website, indem sie alle Seiten der Website vor dem Bau vor dem Bau befindet. Dies bedeutet, dass der Dienst, wenn ein Benutzer eine Seite anfordert, sofort ohne serverseitige Verarbeitung bereitgestellt werden kann. Dies reduziert die Ladezeit der Website erheblich und bietet so eine schnellere und reibungslosere Benutzererfahrung.
Ja, Sie können statische Website -Generatoren für große Websites verwenden. Mit zunehmendem Standortgröße kann die Bauzeiten jedoch zunehmen. Dies liegt daran, dass der Generator jede Seite vorgefertigt hat. Dennoch überwiegen Leistungsvorteile oft längere Bauzeiten, insbesondere in Websites, an denen sich der Inhalt nicht häufig ändert.
statische Stellen sind normalerweise sicherer als dynamische Stellen. Dies liegt daran, dass sie nicht von der Datenbank oder der serverseitigen Verarbeitung abhängen, die gängige Ziele für Angriffe sind. Wie bei jeder Website sind statische Websites jedoch nicht gegen alle Arten von Angriffen immun. Daher ist es wichtig, Best Practices für die Websicherheit zu befolgen.
Um einen statischen Website -Generator zu verwenden, benötigen Sie normalerweise einige Kenntnisse über HTML, CSS und JavaScript. Einige Generatoren müssen auch über bestimmte Programmiersprachen wie Ruby oder Python wissen. Darüber hinaus müssen Sie möglicherweise mit der Verwendung von Befehlszeilen- und Versionskontrollsystemen wie Git vertraut sein.
Ja, Sie können statische Website -Generatoren mit kopflosen CMS verwenden. Auf diese Weise können Sie Inhalte in CMS verwalten und Ihre Website mit dem Generator erstellen. Dies kann eine leistungsstarke Kombination sein, die die Vorteile von CMS sowie die Leistungs- und Sicherheitsvorteile statischer Websites bietet.
Auswählen des richtigen statischen Website -Generators hängt von Ihren spezifischen Anforderungen und Fähigkeiten ab. Berücksichtigen Sie Faktoren wie die aufgebaute Sprache, das von ihr verwendete Vorlagensystem, die Erstellungsgeschwindigkeit, die Unterstützung der Community und seine Kompatibilität mit anderen von Ihnen verwendeten Tools.
Ja, Sie können statische Website-Generatoren für E-Commerce verwenden. Da statische Websites jedoch kein integriertes Backend haben, müssen Sie Dienste von Drittanbietern verwenden, um Aspekte wie CART-Funktionalität und Zahlungsabwicklung zu verarbeiten.
Einige beliebte statische Website -Generatoren sind Jekyll, Hugo, Next.js, Gatsby und Hexo. Jeder hat seine eigenen Vor- und Nachteile. Daher ist es wichtig, den Generator auszuwählen, der Ihren Anforderungen am besten entspricht.
Während statische Website-Generatoren am besten für statische Inhalte geeignet sind, können sie mit Hilfe von Diensten von Drittanbietern dynamische Inhalte bearbeiten. Sie können beispielsweise die API verwenden, um dynamische Daten zu extrahieren oder Dienste wie DISQUS für Kommentare zu verwenden oder Dienste wie FormSpree für Formulare zu verwenden.
Das obige ist der detaillierte Inhalt von7 Gründe für die Verwendung eines statischen Site -Generators. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!