diff --git a/docs/md/servergrundlagen/ssr&htaccess.md b/docs/md/servergrundlagen/ssr&htaccess.md index cf2b9d8..1de6237 100644 --- a/docs/md/servergrundlagen/ssr&htaccess.md +++ b/docs/md/servergrundlagen/ssr&htaccess.md @@ -8,34 +8,34 @@ Diese Konfigurationsdatei ist für einen Apache Webserver bestimmt und beinhalte ## Konfigurationsdetails -- MIME-Type Definition für .mjs Dateien - * 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. -- Default Directory Index - * 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. -- mod_rewrite Konfiguration - * - * 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 - * Aktiviert die Umleitungsfunktionen von mod_rewrite. - * RewriteBase / - * Setzt den Basispfad für Rewrite-Regeln auf das Wurzelverzeichnis. -- API-Umleitung - * 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: - * [P] Proxy: Die Anfrage wird intern an den angegebenen Server weitergeleitet. - * [QSA] Query String Append: Erhält bestehende Query-Parameter. - * [L] Last: Keine weiteren Regeln werden verarbeitet, wenn diese Regel greift. -- Fallback für Nichtexistierende Dateien/Verzeichnisse - * RewriteCond %{REQUEST_FILENAME} !-f und RewriteCond %{REQUEST_FILENAME} !-d - * 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] - * 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. - * token=XYZ muss an den SSR_TOKEN angepasst werden (welcher auch in der server seinigen env steht.) -- Kommentierte Regel - * #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. +- MIME-Type Definition für .mjs Dateien + - 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. +- Default Directory Index + - 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. +- mod_rewrite Konfiguration + - 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. + - RewriteEngine On + - Aktiviert die Umleitungsfunktionen von mod_rewrite. + - RewriteBase / + - Setzt den Basispfad für Rewrite-Regeln auf das Wurzelverzeichnis. + - API-Umleitung + - 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: + - [P] Proxy: Die Anfrage wird intern an den angegebenen Server weitergeleitet. + - [QSA] Query String Append: Erhält bestehende Query-Parameter. + - [L] Last: Keine weiteren Regeln werden verarbeitet, wenn diese Regel greift. + - Fallback für Nichtexistierende Dateien/Verzeichnisse + - RewriteCond %{REQUEST_FILENAME} !-f und RewriteCond %{REQUEST_FILENAME} !-d + - 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] + - 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.) +- Kommentierte Regel + - #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. ### 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. - Beispiel: Eine Anfrage an /dimitrisBuecher/veraltet wird umgeleitet, da die /api/ Rewrite-Regel nicht greift. - Verarbeitung im Tibi-Server - - Der SSR-Hook beginnt mit der Extraktion der URL. -- 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'. + - Gibt die Angefrage Seite zurück. ## Teil 3: Detaillierte Erklärung des Caching und Rendering-Prozesses im SSR-Kontext