Graceful degradation
# Graceful degradation

Mit Graceful degradation (d.: würdevolle Verschlechterung) wird eine auf Stabilität und Sicherheit gerichtete Reaktion eines (Computer-)Systems auf Fehler, unerwartete Ereignisse oder Teilausfälle des Systems genannt, bei der das (Computer-)System den Betrieb so weit als möglich aufrechterhält. Ein Fehler in einem Teilsystem reduziert die Funktionalität des Gesamtsystems nur stufenweise, etwa durch eine geringere Qualität oder weniger Funktionen.

Beispielsweise ist das Transmission Control Protocol (TCP) so aufgebaut, dass es eine zuverlässige Zwei-Wege-Kommunikation in einem paketbasierten Netzwerk erlaubt, selbst wenn einzelne Knoten im Netzwerk überlastet, falsch eingestellt sind oder Daten verfälschen. Dies wird erreicht, indem die Kommunikationsendpunkte bei Verlust, Verdoppelung, Umordnung und Verfälschung von Paketen entsprechend reagieren.

## Graceful degradation für Websites

Auch Datenformate können im Sinne einer „graceful degradation“ gestaltet sein. HTML ist beispielsweise aufwärtskompatibel aufgebaut, neue HTML-Einheiten werden von Browsern, die diese HTML-Einheiten nicht kennen, ignoriert, und der Rest des Dokuments trotzdem dargestellt. Beispiele:

* Anstelle eines Bildes, das nicht dargestellt werden kann, wird ein alternativer Text angezeigt.
* Bei entsprechender Umsetzung der HTML-Seite können Bilder als Ersatz von Flashfilmen angezeigt werden.
* JavaScript kann so geschrieben werden, dass DOM-Operationen durch ein Neuladen der Seite ersetzt werden.
* HTML5 Input Elemente vom Typ "range" oder "email" werden von älteren Browsern als normale Textelemente dargestellt, ohne zusätzliche Funktionalität.
