Projekt

Allgemein

Profil

Aktionen

GX-Bug #68193

geschlossen

If no database connection is possible the store should not return HTTP status code 200 but HTTP 503 | Wenn keine Datenbankverbindung möglich ist sollte der Shop nicht HTTP Statuscode 200 zurückgeben sondern HTTP 503

Von Wilken Haase vor mehr als 3 Jahren hinzugefügt. Vor mehr als 2 Jahren aktualisiert.

Status:
Erledigt
Priorität:
Hoch
Zugewiesen an:
Ahmed Hamouda
Kategorie:
Core
Zielversion:
% erledigt:

0%

Geschätzter Aufwand:
Steps to reproduce:
Betroffene Versionen:
4.2.1.0, 4.3.2.1, 4.3.3.0 beta1
Release Notes Langtext:

Wenn keine Datenbankverbindung möglich ist antwortet der Shop jetzt mit einem HTTP Statuscode 503.


Beschreibung

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() 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() method has to be expanded accordingly.


Aktionen

Auch abrufbar als: Atom PDF