GX-Bug #68193
Von Moritz Bunjes vor fast 4 Jahren aktualisiert
Wenn ein Shop wegen Überlast oder einem Ausfall des Datenbankservers nicht erreichbar ist, gibt er dennoch einen HTTP Status 200 zurück, was Suchmaschinen und vorgeschalteten Caches signalisiert, dass die Seite normal geladen ist. Wenn dann noch, je nach Webserver, das setzen der Cache Header nicht funktioniert, können unerwünschte Inhalte in Caches landen oder von Crawlern eingesammelt werden. Wenn die Datenbank nicht verfügbar ist sollte stattdessen dediziert ein HTTP Status 503 zurückgegeben werden. Ausserdem sollte ein Expires Header gesetzt werden mit einer Zeit von vorgeschlagen 5 Minuten Cachegültigkeit, um den Server von weiteren Anfragen zu entlasten. Die Methode \Gambio\GX\Application::connectToDatabase() connectToDatabase() ist entsprechend zu erweitern. If a store is not accessible due to overload or a database server failure, it still returns an HTTP status 200, which signals to search engines and upstream caches that the page has loaded normally. If then, depending on the web server, the setting of the cache headers also doesn't work as expected, unwanted content can end up in caches or be collected by crawlers. If the database is not available, a dedicated HTTP status 503 should be returned instead. Also, an Expires header should be set with a suggested time of 5 minutes cache validity to relieve the server from further requests. The \Gambio\GX\Application::connectToDatabase() connectToDatabase() method has to be expanded accordingly.