Während die Verwendung von Bildern, Videos und GIFs in den Anfängen des Internets noch unüblich war, erwarten wir heute, dass eine Webseite nicht nur informativen Text, sondern auch ansprechendes Bildmaterial bietet. Es ist auch keine Überraschung, dass du eine Fehlermeldung erhältst, wenn die Kommunikation zwischen Browser und Server aufgrund einer Medieninkongruenz schief läuft. In diesem Fall ist es der „HTTP 415“-Fehler.
Da Medien eine Grundvoraussetzung für das moderne Web sind, bedeutet ein Fehler in diesem Bereich, dass du schnell eine Lösung brauchst. Im Gegensatz zu anderen Fehlerbehebungen – vor allem bei WordPress-Webseiten – ist dieses Problem jedoch eine härtere Nuss. Du brauchst vielleicht ein paar Programmierkenntnisse, um dieses Problem zu lösen, aber darauf gehen wir später noch ein.
Schau dir unsere Videoanleitung zur Behebung des 415-Fehlers an
In diesem Beitrag werden wir uns mit dem „HTTP 415“-Fehler befassen und die Ursachen dafür erläutern. Danach werden wir besprechen, wie du ihn beheben kannst.
Was der HTTP 415-Fehler ist
Der „HTTP 415“-Fehler ist einer von vielen 4XX-Statuscodes. Wenn du verstehst, dass er mit Fehlern wie 404 zusammenhängt, verstehst du besser, was hier passiert.
Kurz gesagt geht es bei 4XX-Fehlern darum, dass etwas fehlt, das entweder der Client oder der Server braucht. Der vollständige Name des Fehlers – „415 Unsupported Media Type“ – verrät wo der Schuh drückt. Der Server empfängt einen Mediendateityp, den er nicht erkennt oder nicht akzeptieren kann.
In den meisten Fällen siehst du den „HTTP 415“-Fehler, wenn du eine Anwendungsprogrammierschnittstelle (API) verwendest. Es handelt sich um ein serverseitiges Problem, und als Nächstes werden wir besprechen, warum das überhaupt passiert.
Warum der HTTP 415 Fehler auftaucht
Egal, wie du ihn nennst – „HTTP 415“-Fehler, oder „415 Unsupported Media Type“-Fehler – das Problem ist immer, dass der Server eine Anfrage des Browsers nicht annimmt. Das liegt oft daran, dass das, was der Browser sendet (die Nutzdaten), nicht das richtige Format hat.
Das ist ein ähnliches Problem wie der Fehler „422 Unprocessable Entity„, denn bei beiden geht es darum, dass falsche Daten auf dem Server ankommen und dieser tobt. Es gibt auch einen Unterschied zwischen den Daten, die der Browser sendet, und denen, die der Server empfängt. Auf den ersten Blick scheinen sie gleich zu sein, aber es gibt einen Unterschied.
Eine allgemeine Strategie zum Abfangen von Fehlern verhindert zum Beispiel, dass ein Nutzer einen nicht erkannten Dateityp über eine Schnittstelle hochlädt, die nur PNGs akzeptiert. Wenn du jedoch nicht genau festlegst, welche Medientypen ein Server verarbeiten kann, würde dies einen Fehler im Backend auslösen. Auf dem Frontend sieht ein Nutzer vielleicht gar nichts. WordPress-Nutzer erhalten eine Benachrichtigung auf dem Admin-Bildschirm:
Die gute Nachricht ist, dass WordPress eine freizügige Infrastruktur hat – denk zum Beispiel an die verschiedenen Dateitypen, die du in die Medienbibliothek hochladen kannst.
Trotzdem ist dies eher ein Problem auf Entwicklerebene als ein Fehler des Benutzers. Deshalb werden wir uns als Nächstes ansehen, wie das Problem behoben werden kann.
So behebst du den HTTP 415-Fehler
Der „HTTP 415“-Fehler besagt, dass der Server einen Dateityp nicht akzeptiert, weil er diese Nutzdaten nicht unterstützt. Das bedeutet, dass es ein Problem im zugrunde liegenden PHP-Code gibt, das behoben werden muss.
Wenn du nicht der Entwickler der Webseite oder des Themes bist und keine Programmierkenntnisse hast, solltest du dich an jemanden wenden, der sich damit auskennt. Das Herumstochern in den Dateien deines Themes könnte ein Problem verursachen.
Die Mozilla-Dokumentation zu diesem Fehler gibt dir jedoch zwei Anhaltspunkte, mit denen du deine Suche beginnen kannst – zwei „Darstellungs-Header“: Content-Type und Content-Encoding.
Wie die Header Content-Type und Content-Encoding funktionieren
Der Content-Type-Header übermittelt die Ressource an den Client, bevor die Kodierung erfolgt. Er gibt den ursprünglichen Medientyp der Ressource an. Zum Beispiel:
Content-Type: text/html; charset=UTF-8
Content-Type: image/jpeg;
Im Gegensatz dazu ist Content-Encoding eine Liste aller Kodierungen, die die Nutzdaten (d.h. deine Medien) umfassen, was ein Indikator dafür ist, wie die Datei dekodiert werden sollte, um die ursprünglichen Nutzdaten zu erhalten.
Content-Encoding: gzip
Content-Encoding: br
Wie du siehst, ist die Dateikomprimierung eine gängige Methode, um Daten zu kodieren. Theoretisch ist das kein Problem, aber wenn du es nicht in den entsprechenden Dateien deines Themes oder Plugins verschlüsselst, wird es zum Problem.
Eine Lösung für den HTTP 415 Fehlercode finden
Wenn du einen HTTP 415-Fehler entdeckst, hast du drei Möglichkeiten, die alle mit deinem PHP-Code zu tun haben:
- Du musst sicherstellen, dass du den richtigen Content-Type-Header-Wert sendest.
- Außerdem musst du sicherstellen, dass der Server das verarbeiten kann, was du in der Kopfzeile Content-Type angibst.
- Überprüfe, was der Server über den Accept-Header verarbeiten kann.
Du musst dies nicht unbedingt innerhalb der Kerndateien tun, aber du kannst es als Teil einer REST-API-Anfrage tun. Ein Nutzer von Stack Overflow hatte zum Beispiel genau dieses Problem, als er eine API-Anfrage mit reinem PHP über cURL stellte.
Es gibt zwei Stellen, an denen du suchen musst. Erstens musst du die richtigen Dateitypen im Content-Type-Header angeben:
$headers = array (
‘Content-Type’ => ‘application/json’,
…
Zweitens hat sich der Benutzer bei der Deklaration eines ungültigen Header-Schlüssels mit der Funktion wp_remote_post() vertippt:
$arg = array (
'header' => $headers,
…
Weil in „header“ ein „s“ fehlt, würde er den Fehler „HTTP 415“ auslösen. Du musst aber auch sicherstellen, dass der Client die richtigen Dateitypen akzeptieren kann. Das erreichst du durch einen weiteren Header: Accept. Zum Beispiel:
Accept: text/html
Accept: image/*
So stellst du sicher, dass beide Enden der Kette – die Client- und die Serverseite – die richtigen Dateitypen akzeptieren und senden können, und machst der Fehlermeldung „HTTP 415“ ein für alle Mal ein Ende.
Zusammenfassung
Website-Fehler sind oft ganz einfach zu beheben. Wir haben das auf dem Kinsta-Blog schon oft getan, und die Natur der Plattform bedeutet, dass du in kurzer Zeit wieder loslegen kannst. Der „HTTP 415“-Fehler ist jedoch anders, denn wenn du kein Entwickler bist, ist eine Lösung schwer zu finden.
Die Lösung besteht darin, mit den Werten des Content-Type-Headers zu arbeiten, um sicherzustellen, dass du den richtigen an den Server sendest. Vielleicht hast du auch einen einfachen Tippfehler. In diesem Fall kann es aber schwierig sein, sie zu erkennen, vor allem, wenn es um die Inhaltstypen geht, die du an den Server sendest.
Während du den „HTTP 415“-Fehler selbst beheben kannst, ist Kinsta bei anderen Problemen mit deiner WordPress zur Stelle. Unser Support-Team steht bereit, um dir zu helfen, deine Webseite zu verstehen, wenn sie einmal nicht lädt.