Statischer Server
Middleware, das statische Dateien oder eingebettete Dateien bereitstellt. Detaillierte API finden Sie in der Dokumentation.
Anwendungsfälle
Statische Dateiserver haben vielfältige Anwendungen in der Webentwicklung:
- Bereitstellung statischer Ressourcen für Websites, wie CSS, JavaScript, Bilder usw.
- Hosting von Single-Page-Anwendungen (SPAs)
- Verteilung von Dokumenten, Mediendateien, herunterladbaren Inhalten usw.
- Komplette Hosting-Lösung für einfache Websites
Hauptmerkmale
StaticDirbietet Unterstützung für das Bereitstellen statischer Dateien aus lokalen Verzeichnissen. Es kann eine Liste mehrerer Verzeichnisse als Parameter akzeptieren. Beispiel:
Wenn eine Datei im ersten Verzeichnis nicht gefunden wird, wird sie im zweiten Verzeichnis gesucht.
StaticDir unterstützt die Bereitstellung vorab komprimierter Dateien, sofern verfügbar. Wenn beispielsweise Dateien wie index.html, index.html.gz, index.html.zst und index.html.br existieren, werden index.html.gz, index.html.zst und index.html.br als vorab komprimierte Versionen von index.html betrachtet. Die passende komprimierte Datei wird basierend auf den Anfrageinformationen bereitgestellt.
- Bietet Unterstützung für
rust-embed. Beispiel:
Vor- und Nachteile von rust-embed
Vorteile:
- Kompiliert statische Dateien in die Binärdatei und vereinfacht die Bereitstellung.
- Keine separate Verwaltung statischer Dateien in Produktionsumgebungen erforderlich.
- Potenziell bessere Leistung (Speicherzugriff vs. Festplatten-I/O).
- Erhöhte Sicherheit, da Dateien nicht versehentlich geändert werden können.
Nachteile:
- Erhöht die Größe der Anwendungsbinärdatei.
- Aktualisierungen statischer Inhalte erfordern Neukompilierung und erneute Bereitstellung der gesamten Anwendung.
- Nicht geeignet für große statische Inhalte, die sich häufig ändern.
Mit der Option default können Sie eine Standardseite zur Anzeige festlegen. Die Methoden with_fallback und fallback ermöglichen es, eine Fallback-Datei anzugeben, die bereitgestellt wird, wenn eine angeforderte Datei nicht gefunden wird. Dies ist nützlich für bestimmte Single-Page-Website-Anwendungen.