This commit is contained in:
Robin Grenzdörfer 2023-12-07 11:31:45 +00:00
parent 5c571b8ef3
commit bf5b258cd5

View File

@ -9,33 +9,33 @@ Diese Konfigurationsdatei ist für einen Apache Webserver bestimmt und beinhalte
## Konfigurationsdetails ## Konfigurationsdetails
- MIME-Type Definition für .mjs Dateien - MIME-Type Definition für .mjs Dateien
* AddType application/javascript .mjs - AddType application/javascript .mjs
* Diese Anweisung sorgt dafür, dass Dateien mit der Endung .mjs als JavaScript-Dateien (application/javascript) behandelt werden. Dies ist besonders nützlich für Module im ECMAScript-Format, die oft diese Endung verwenden. - Diese Anweisung sorgt dafür, dass Dateien mit der Endung .mjs als JavaScript-Dateien (application/javascript) behandelt werden. Dies ist besonders nützlich für Module im ECMAScript-Format, die oft diese Endung verwenden.
- Default Directory Index - Default Directory Index
* DirectoryIndex noindex - DirectoryIndex noindex
* Legt noindex als Standard-Indexdatei fest, wenn ein Verzeichnis aufgerufen wird. Dies verhindert, dass Apache automatisch eine Datei wie index.html oder spa.html lädt, wenn keine spezifische Datei in der URL angegeben ist. - Legt noindex als Standard-Indexdatei fest, wenn ein Verzeichnis aufgerufen wird. Dies verhindert, dass Apache automatisch eine Datei wie index.html oder spa.html lädt, wenn keine spezifische Datei in der URL angegeben ist.
- mod_rewrite Konfiguration - mod_rewrite Konfiguration
* <IfModule mod_rewrite.c> - IfModule mod_rewrite.c
* Diese Sektion ist nur aktiv, wenn das mod_rewrite-Modul verfügbar ist. mod_rewrite ermöglicht die Umleitung und Umformung von URLs. - Diese Sektion ist nur aktiv, wenn das mod_rewrite-Modul verfügbar ist. mod_rewrite ermöglicht die Umleitung und Umformung von URLs.
* RewriteEngine On - RewriteEngine On
* Aktiviert die Umleitungsfunktionen von mod_rewrite. - Aktiviert die Umleitungsfunktionen von mod_rewrite.
* RewriteBase / - RewriteBase /
* Setzt den Basispfad für Rewrite-Regeln auf das Wurzelverzeichnis. - Setzt den Basispfad für Rewrite-Regeln auf das Wurzelverzeichnis.
- API-Umleitung - API-Umleitung
* RewriteRule ^/?api/(.*)$ http://tibi-server:8080/api/v1/_/vde8_tibi_2023/$1 [P,QSA,L] - RewriteRule ^/?api/(.*)$ http://tibi-server:8080/api/v1/_/vde8_tibi_2023/$1 [P,QSA,L]
* Leitet Anfragen, die mit /api/ beginnen, an einen anderen Server (tibi-server) um. Behält den Rest des Pfades bei und fügt ihn an den Ziel-URL an. Die Flags bedeuten: - Leitet Anfragen, die mit /api/ beginnen, an einen anderen Server (tibi-server) um. Behält den Rest des Pfades bei und fügt ihn an den Ziel-URL an. Die Flags bedeuten:
* [P] Proxy: Die Anfrage wird intern an den angegebenen Server weitergeleitet. - [P] Proxy: Die Anfrage wird intern an den angegebenen Server weitergeleitet.
* [QSA] Query String Append: Erhält bestehende Query-Parameter. - [QSA] Query String Append: Erhält bestehende Query-Parameter.
* [L] Last: Keine weiteren Regeln werden verarbeitet, wenn diese Regel greift. - [L] Last: Keine weiteren Regeln werden verarbeitet, wenn diese Regel greift.
- Fallback für Nichtexistierende Dateien/Verzeichnisse - Fallback für Nichtexistierende Dateien/Verzeichnisse
* RewriteCond %{REQUEST_FILENAME} !-f und RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_FILENAME} !-f und RewriteCond %{REQUEST_FILENAME} !-d
* Prüft, ob der angeforderte Pfad weder einer existierenden Datei noch einem Verzeichnis entspricht. - Prüft, ob der angeforderte Pfad weder einer existierenden Datei noch einem Verzeichnis entspricht.
* RewriteRule ^/?(.*)$ http://tibi-server:8080/api/v1/_/vde8_tibi_2023/ssr?token=XYZ&url=/$1 [P,QSA,L] - RewriteRule ^/?(.*)$ http://tibi-server:8080/api/v1/_/vde8_tibi_2023/ssr?token=XYZ&url=/$1 [P,QSA,L]
* Leitet Anfragen, die nicht existierenden Dateien/Verzeichnissen entsprechen, an einen Server-seitigen Rendering-Prozess weiter. Nützlich für SPAs, wo die URL-Verarbeitung auf dem Client stattfindet. - Leitet Anfragen, die nicht existierenden Dateien/Verzeichnissen entsprechen, an einen Server-seitigen Rendering-Prozess weiter.
* token=XYZ muss an den SSR_TOKEN angepasst werden (welcher auch in der server seinigen env steht.) - token=XYZ muss an den SSR_TOKEN angepasst werden (welcher auch in der server seinigen env steht.)
- Kommentierte Regel - Kommentierte Regel
* #RewriteRule (.*) /spa.html [QSA,L] - #RewriteRule (.*) /spa.html [QSA,L]
* Eine auskommentierte Regel, die alle Anfragen zu spa.html umleiten würde. Da sie auskommentiert ist, hat sie keinen Effekt. - Eine auskommentierte Regel, die alle Anfragen zu spa.html umleiten würde. Da sie auskommentiert ist, hat sie keinen Effekt.
### Zusätzliche Hinweise ### Zusätzliche Hinweise
@ -50,15 +50,7 @@ Diese Konfigurationsdatei ist für einen Apache Webserver bestimmt und beinhalte
- Der originale Pfad wird als URL-Query-Parameter an die neue URL angehängt. - Der originale Pfad wird als URL-Query-Parameter an die neue URL angehängt.
- Beispiel: Eine Anfrage an /dimitrisBuecher/veraltet wird umgeleitet, da die /api/ Rewrite-Regel nicht greift. - Beispiel: Eine Anfrage an /dimitrisBuecher/veraltet wird umgeleitet, da die /api/ Rewrite-Regel nicht greift.
- Verarbeitung im Tibi-Server - Verarbeitung im Tibi-Server
- Der SSR-Hook beginnt mit der Extraktion der URL. - Gibt die Angefrage Seite zurück.
- Möglichkeit zur Unterbindung von Caching
- Implementierung eines Boolean-Feldes „Caching“ in der Content-Collection, um Caching zu steuern.
- URL-Normalisierung und Überprüfung in der SSR-Collection
- Überprüfung, ob die URL bereits in der SSR-Collection vorhanden ist.
- Für zeitlich begrenzte Sichtbarkeit von Seiten wird ein validUntil-Feld im Cache verwendet.
- Validierung des Pfades
- Überprüfung der Existenz der URL als Pfad in der Content-Collection.
- Rückgabewerte: -1 für 'not found', 0 für 'nicht cachbar', 1 für 'cachbar'.
## Teil 3: Detaillierte Erklärung des Caching und Rendering-Prozesses im SSR-Kontext ## Teil 3: Detaillierte Erklärung des Caching und Rendering-Prozesses im SSR-Kontext