Skip to main content

Subressourcen

Was ist eine Subresource?

Eine Subresource ist eine Ressource, die Teil einer größeren Ressource ist. Der Begriff stammt aus der HTML5-Spezifikation. Die kritischen Unterressourcen einer Ressource sind diejenigen, welche für die Ressource für eine korrekte Verarbeitung zur Verfügung stehen müssen.

Ressourcen und Subresourcen

In der IT ist eine Systemressource oder einfach nur eine Ressource eine physische oder virtuelle Komponente mit begrenzter Verfügbarkeit innerhalb eines Computersystems. Jedes an ein Computersystem angeschlossene Gerät ist eine Ressource. Jede interne Systemkomponente ist eine Ressource. Zu den virtuellen Systemressourcen gehören Dateien (konkret Datei-Handles), Netzwerkverbindungen (konkret Netzwerk-Sockets) und Speicherbereiche. Die Verwaltung von Ressourcen wird als Ressourcenmanagement bezeichnet und umfasst sowohl die Verhinderung von Ressourcenlecks (Freigabe einer Ressource, wenn ein Prozess damit fertig ist) als auch den Umgang mit Ressourcenkonflikten (wenn mehrere Prozesse auf eine begrenzte Ressource zugreifen möchten). Innerhalb der Ressourcen kann es eine Hierarchie geben, sodass einige Ressourcen auf anderen basieren. Diese grundlegenden Ressourcen werden als Subresource bezeichnet.

Integrität einer Subresource

Subresourcen Integrität (SRI) ist eine Methode, mit der Web-Anwendungsentwickler sicherstellen können, dass Ressourcen, die auf Services von Drittanbietern wie Content Delivery Networks (CDN) gehostet werden, ohne unerwartete Änderungen bereitgestellt werden. Das W3C empfahl die Subresource-Integrität (SRI) als Best Practice, wenn Ressourcen von einer externen Quelle geladen werden. SRI vergleicht den Hash-Wert der auf dem Webserver gehosteten Ressourcen mit denen auf dem Server oder Dienst eines Drittanbieters. Um die Leistung ihrer Websites zu verbessern, hosten viele Unternehmen verschiedene Ressourcen auf verschiedenen Servern. Beispielsweise werden Ressourcen wie Skripte, CSS-Stylesheets und Bilder typischerweise in einem Content Delivery Network (CDN) gehostet.

Dabei vertrauen sie jedoch ausdrücklich auf ihr CDN oder den Service Dritter. Dies bedeutet, dass wenn der CDN-Dienst gehackt wird oder das DNS gekapert wird, dann wird auch die Webanwendung gehackt. Zu diesem Zeitpunkt kann der Angreifer den Inhalt einer Skriptdatei, die auf Ihrem CDN gehostet wird, ändern, was zu einer Cross-Site-Scripting-Schwachstelle auf der Website führt. Daher stellen Anwender durch die Implementierung von SRI sicher, dass die Webanwendung auf eine Datei verweist, die tatsächlich legitim ist, und wenn die Datei geändert wird, wird der Browser sie nicht laden und der Angriff wird fehlschlagen.

Fallback-Unterstützung für die Subresource

Wenn der Hash-Wert der Ressource nicht übereinstimmt, möchten Nutzer vielleicht, dass der Browser die Ressource von einem anderen Ort herunterlädt. In diesem Fall können Anwender das noncanonical-src-Attribut zur Verfügung stellen, um den ursprünglichen Speicherort der Ressource anzugeben, und wenn die Überprüfung fehlschlägt, wird die an das src-Attribut (oder das Hauptressourcenattribut) angehängte Ressource heruntergeladen. Dies geschieht hauptsächlich für Performance-Probleme (HTTP ist schneller als HTTPS) und auch für Caching-Probleme (einige Ressourcen-Server vergessen, Cache-Header zurückzugeben). Das nicht-kanonische Attribut zeigt normalerweise eine Ressourcenposition an, die schneller ist (HTTP) und auch korrekte Cache-Header zurückgibt. Wenn dieser Speicherort gehackt wird, wird der Browser auf einen anderen Speicherort zurückgesetzt.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG