Start
/
Website-Hilfe
/
HTTP-Status-Codes
/
Was ist 300 Statuscode "Multiple Choices"?

Was ist 300 Statuscode "Multiple Choices"?

Wir alle kennen die HTTP-Antwortstatuscodes 301 „permanente Weiterleitung“ und 302 „temporäre Weiterleitung“, aber haben Sie schon vom Statuscode 300 gehört? Keine Sorge, wenn nicht – Sie sind nicht allein. Er ist nicht so häufig wie andere 3XX-HTTP-Antwortstatuscodes.

Der Statuscode 300 verfügt über einzigartige Eigenschaften, die ihn in bestimmten Fällen nützlich machen.

In diesem Handbuch untersuchen wir den Statuscode 300, seine Anwendungen und die damit verbundenen häufigsten Probleme.

Der Statuscode 300 Multiple Choices zeigt an, dass eine Anfrage mehrere mögliche Antworten hat und der Kunde eine davon auswählen muss, um fortzufahren. Dies wird häufig für die Aushandlung von Inhalten verwendet, z. B. für die Auswahl verschiedener Formate oder Sprachen.

Wie funktioniert der Statuscode 300?

So sieht eine typische Client-Server-Interaktion mit einem 300-Antwortcode aus:

  1. Ein Client fordert eine Ressource an – ein Client (Browser, Anwendung) sendet eine HTTP-Anforderung (GET, POST usw.) für eine bestimmte Ressource an einen Webserver.
  2. Der Webserver verarbeitet die Anfrage – der Webserver empfängt die Anfrage und stellt fest, dass die Ressource mehrere Versionen hat. Dies können Seiten in verschiedenen Sprachen, Formaten (XML, JSON usw.) oder Standorten sein.
  3. Der Webserver antwortet mit dem HTTP-Antwortcode 300 „Mehrere Auswahlmöglichkeiten“ – der Webserver sendet den Antwortcode 300 an den Client zurück. Diese Antwort enthält eine Liste der verfügbaren Optionen, aus denen der Client auswählen kann.
    Die Liste kann im Anforderungstext oder im Header „Location“ angezeigt werden.

    300 Antwortcode
  4. Der Client trifft eine Auswahl und sendet eine neue Anfrage zurück – der Client muss eine der angezeigten Optionen auswählen und eine weitere HTTP-Anfrage zurücksenden, die den Server über die Auswahl informiert.
    Alternativ könnte die Client-Anwendung so konfiguriert werden, dass sie eine automatische Auswahl anhand vordefinierter Kriterien trifft.
  5. Der Webserver verarbeitet die nachfolgende Anfrage – Der Webserver verarbeitet die neue Anfrage. Er antwortet mit der Ressource, die der vom Client getroffenen Auswahl entspricht. Bei Erfolg lautet die neue Antwort 200 „OK“.
    200 HTTP-Antwortcode

Abhängig von der Website, an die die HTTP-Anforderung gesendet wird, werden diese Auswahlmöglichkeiten als URI, Alternativen oder Link-HTTP-Header (die am häufigsten verwendete Methode) dargestellt.

Wenn eine der Auswahlmöglichkeiten bevorzugt wird, sollte der Webserver einen Location HTTP-Header generieren, der die URI der bevorzugten Ressourcenversion angibt.

Sofern es sich bei der HTTP-Anforderungsmethode nicht um HEAD handelt (z. B. eine POST- oder GET-Anforderung), verfügt der Antwortcode 300 über einen Nachrichtentext, der eine Liste der verfügbaren Auswahlmöglichkeiten enthält.

Unten sehen Sie ein Beispiel für eine solche Antwort.

HTTP/1.1 300 Multiple Choices
Content-Type: text/html

<!DOCTYPE html>
<html>
<head>
    <title>300 Multiple Choices</title>
</head>
<body>
    <h1>Mehrere Auswahlmöglichkeiten</h1>
    <p>Die angeforderte Ressource hat mehrere Darstellungen. Bitte wählen Sie eine der folgenden Optionen:</p>
    <ul>
        <li><a href="http://example.com/resource/en">Englisch</a></li>
        <li><a href="http://example.com/resource/fr">Französisch</a></li>
        <li><a href="http://example.com/resource/es">Spanisch</a></li>
    </ul>
</body>
</html>

Der Antwortcode 300 kann zwischengespeichert werden. Das bedeutet, dass Clients (Browser oder Benutzeragenten) die Antwort speichern und für zukünftige Anfragen aus ihrem Speicher laden können, was die Leistung steigert. Der Webserver überprüft das Datum der letzten Änderung aus den Anforderungsheaderfeldern, die von einem Client gesendet wurden, der die Ressource bereits zwischengespeichert hat, und gibt, wenn es mit der neuesten Ressourcenversion übereinstimmt, einen Antwortcode 304 „Nicht geändert“ zurück.

Im Allgemeinen wird der Statuscode 300 nicht häufig verwendet, da es keine standardisierte Möglichkeit zur Darstellung der Auswahlmöglichkeiten gibt.

Schlüsselmerkmale von 300 Multiple-Choice-Fragen

Der Antwortcode 300 weist mehrere markante Merkmale auf, die ihn von anderen HTTP-Statuscodes unterscheiden.

Mehrere Optionen

Der Server stellt dem Client mehrere Optionen zur Auswahl. Wie diese Optionen angezeigt werden, hängt vom Server oder der Website ab.
Es könnte sich dabei um eine Aufzählungs- oder nummerierte Liste im Textkörper der 300-Antwort oder um eine Liste in der Kopfzeile „Location“ handeln.

Keine automatische Weiterleitung

Im Gegensatz zu anderen 3xx-Codes leitet 300 den Benutzer nicht automatisch an einen bestimmten Ort weiter. Stattdessen muss der Besucher den gewünschten Ressourcenstandort auswählen.
Der Webserver liefert erst dann Inhalte, wenn der Client explizit eine Auswahl trifft. Ob es sich dabei um eine manuelle Auswahl oder eine automatische Auswahl durch eine Anwendung handelt, bleibt ganz dem Client überlassen.

Benutzerinteraktion erforderlich

Mit dem HTTP-Antwortcode 300 fordert der Ursprungsserver den Benutzer (Benutzeragent) auf, eine der verfügbaren Optionen auszuwählen.

Der Server kann nicht fortfahren, bis eine der Optionen ausgewählt ist.

Wann werden 300 Multiple-Choice-Fragen verwendet?

Obwohl er selten verwendet wird, besitzt der Statuscode 300 besondere Merkmale, die ihn in bestimmten Fällen nützlich machen. Hier sind die häufigsten.

Aushandeln mehrerer Formate

Wenn eine Ressource in mehreren Formaten verfügbar ist (z. B. in verschiedenen Sprachen und Medientypen), können Benutzer auf dem Ursprungsserver ihre bevorzugten Formate mithilfe eines 300-Antwortcodes auswählen.

Sie können beispielsweise mehrere optionale Formate (MPEG, MP4 usw.) für dasselbe Video auflisten, aus denen Kunden auswählen können.

Ressourcenversionen auswählen

Wenn eine Ressource über mehrere Versionen verfügt, z. B. API-Versionen, zeigt der Statuscode 300 den Benutzern die verfügbaren Optionen an.

Beispielsweise kann ein Server ein Dokument in verschiedenen Sprachen oder Formaten anbieten, etwa als HTML, PDF oder als reinen Text. Der Client kann dann die gewünschte Version basierend auf den Benutzereinstellungen oder -funktionen auswählen. Dieser Mechanismus ermöglicht eine flexiblere Bereitstellung von Inhalten und stellt sicher, dass der Client die am besten geeignete Ressource erhält, ohne mehrere nachfolgende Anfragen stellen zu müssen.

Alternative Ressourcen

Wenn für eine Ressource mehrere alternative Standorte oder Darstellungen verfügbar sind, kann der Server dem Client diese Auswahlmöglichkeiten bereitstellen.

Angenommen, Sie möchten für verschiedene Regionen unterschiedliche Inhalte anzeigen. Bevor Besucher auf Ihrer Website fortfahren, können Sie sie auffordern, ihre Region aus einem Menü mit einem 300-Antwortcode auszuwählen.

Tipps zum Verwalten eines 300-Statuscodes

Der Antwortcode 300 ist nicht so beliebt wie andere Umleitungstypen, daher sind die Benutzer nicht so vertraut damit. Daher sollten Sie bei der Verwendung besonders vorsichtig und gewissenhaft sein, um sicherzustellen, dass der HTTP-Statuscode 300 sie nicht verwirrt.

Nachfolgend finden Sie einige nützliche Tipps zum Umgang mit dem Antwortcode 300 „Mehrere Auswahlmöglichkeiten“.

  • Klare Dokumentation führen – Dokumentieren Sie die verschiedenen verfügbaren Optionen und die Kriterien für jede Option. Dies hilft sowohl Entwicklern als auch Benutzern, die Optionen besser zu verstehen, wenn sie auf den 300-HTTP-Code stoßen.
  • Konsistente Benennung sicherstellen – Verwenden Sie eine konsistente Benennungskonvention für die verschiedenen Ressourcenversionen. So können Benutzer leichter erkennen, was sie auswählen.
  • Clientseitige HandhabungStellen Sie sicher, dass Client-Anwendungen, wie etwa Browser oder mobile Apps, 300 Antworten ordnungsgemäß verarbeiten können.
  • Regelmäßige Updates – Halten Sie die Liste der verfügbaren Optionen auf dem neuesten Stand. Wenn eine Ressourcendarstellung oder -version veraltet ist, entfernen Sie sie aus den Optionen, um defekte Links zu vermeiden.
  • Klare Anweisungen geben – Sorgen Sie für eine intuitive und benutzerfreundliche Oberfläche für Ihre Website oder Webanwendung. Fügen Sie für jede Auswahl beschreibenden Text und klare Anweisungen hinzu.
    Auf diese Weise vermeiden Sie Frustration bei Ihren Besuchern, da diese die angezeigten Auswahlmöglichkeiten klar verstehen. Darüber hinaus helfen klare Anweisungen den Suchmaschinen dabei, Ihre Site richtig zu crawlen.
  • Geräte- und browserübergreifende Tests durchführenKompatibilität mit mehreren Geräten und Plattformen ist heutzutage unerlässlich. Testen Sie Ihre Website oder Anwendung regelmäßig auf verschiedenen Geräten oder Browsern, um sicherzustellen, dass sie die im Antwortcode 300 angegebenen Auswahlmöglichkeiten korrekt verarbeiten können.
  • Nutzung überwachen – Behalten Sie im Auge, wie oft jede Option ausgewählt wird. Sie können diese Informationen verwenden, um einen Standardressourcenstandort festzulegen, der den Präferenzen Ihrer Benutzer entspricht.
    Sie können verschiedene Tools verwenden, um zu überwachen, welche Seiten mehr Verkehr generieren. Viele Webhosting-Anbieter bieten eigene Verkehrsanalysetools an, die den Verkehr nach Seitenaufrufen aufschlüsseln. SiteGround-Benutzer können ihren Verkehr unter Site Tools > Statistiken > Traffic überwachen.

    Traffic-Tool in Site Tools

    Wenn Ihr Webhosting solche Instrumente nicht bereitstellt, können Sie sich für Überwachungsdienste von Drittanbietern (wie Google Analytics oder Ahrefs) oder Plugins (für WordPress, Joomla usw.) entscheiden.

Häufige Probleme

Wie bei jeder anderen Art der Weiterleitung kann der Statuscode 300 fehlschlagen, wenn er nicht richtig verwendet wird. Er kann dazu führen, dass eine Website eine ungültige Antwort mit einem Fehlercode oder einer leeren Seite erzeugt. Hier sind einige der Ursachen für einen problematischen 300-Antwortcode.

Falsch konfigurierte Optionen

Eine falsche Konfiguration der verfügbaren Auswahlmöglichkeiten, die in einem 300-HTTP-Code angezeigt werden, kann Benutzer verwirren und zu Fehlern führen. Solche Fehlkonfigurationen könnten sein:

  • Defekte Links – Unvollständige URLs öffnen nicht die gewünschte Seite und verwirren Besucher, was zu einer verschlechterten Benutzererfahrung führt.
  • Falscher Content-Type – Content-Type ist ein Darstellungsheader, der Clients über den Medientyp der angeforderten Ressource informieren soll. Wenn der Content-Type-Header nicht mit dem tatsächlichen Typ einer Ressource übereinstimmt, kann es sein, dass die nachfolgende Clientanforderung die Zielressource nicht korrekt ausführt.
  • Kein Fallback-Mechanismus – Der 300-Antwortcode enthält weder eine Standardoption noch einen Fallback-Mechanismus für den Fall, dass der Benutzer keine Auswahl treffen kann oder der Client 300-Antwortcodes nicht unterstützt.

Inkonsistente Benennung der Auswahlmöglichkeiten

Links, die keiner einheitlichen Namenskonvention folgen, machen die Auswahl unklar. Beispielsweise kann ein Link an einer Stelle „resource/en“ und an einer anderen „resource/english“ heißen.

Dies führt dazu, dass Besucher Ihre Website eher verlassen, anstatt ihre Auswahl durchzuziehen.

Unklare Benutzerführung

Unklare Beschreibungen oder Anweisungen können Kunden hinsichtlich der gegebenen Auswahlmöglichkeiten verwirren. Außerdem können sie Suchmaschinen daran hindern, Ihre Website richtig zu crawlen. Dadurch können die Benutzererfahrung und der SEO-Score beeinträchtigt werden.

Browser-Inkompatibilität

Einige Browser verarbeiten 300-Antworten möglicherweise nicht richtig, was zu Funktionsstörungen der Website oder Anwendung führt, mit der sie kommunizieren. Solche Inkompatibilitäten können beispielsweise auftreten, wenn die Anforderungsentität ein „Expect“-Anforderungsheaderfeld enthält, das die vom Client erwartete Antwort angibt.

Wenn es sich beim Statuscode 300 nicht um eine angeforderte Antwort handelt, kann es sein, dass der Client diese nicht richtig verarbeiten kann.

Wie man Probleme mit falsch konfiguriertem 300-HTTP-Code beheben kann?

Die Serverkonfiguration überprüfen

Stellen Sie sicher, dass Ihr Webserver die im Antwortcode 300 angezeigten Mehrfachauswahlmöglichkeiten korrekt angibt. Jede Option sollte eine gültige URL sein, die auf eine andere Version der Zielressource verweist.

Die 300-Antwortcode-Header validieren

Überprüfen Sie die Felder des HTTP-Antwortheaders, z. B. den Header Standort. Er muss die richtigen URLs für die verfügbaren Optionen enthalten. Falsche Header können zu defekten Links und Frustration bei den Benutzern führen.

Die Fehlerprotokolle überprüfen

Aktivieren Sie die Fehlerprotokollierung auf Ihrer Website, um Probleme zu überprüfen, die aufgezeichnet werden, während Besucher auf Ihre Website zugreifen. Diese Protokolle können Ihnen dabei helfen, den Ursprung vieler clientseitiger Fehler (wie ungültige Anforderungsnachrichtenformatierung, zu viele Anforderungen usw.) oder serverseitiger Fehler (wie unzureichende Serverressourcen, Zugriffsbeschränkungen usw.) zu ermitteln.

Diese Protokolle können Ihnen auch dabei helfen, Probleme im Zusammenhang mit dem Antwortcode 300 zu identifizieren. SiteGround-Benutzer haben leicht auffindbare und detaillierte Fehlerprotokolle im Site Tools > Statistiken > Fehlerprotokoll ihrer Website zur Verfügung.

Fehlerprotokoll in Site Tools

Fallback-Mechanismus implementieren

Wenn Clients den Statuscode 300 nicht verarbeiten können, implementieren Sie einen Fallback-Mechanismus, der zu einer Standardauswahl weiterleitet. Dadurch wird sichergestellt, dass Benutzer auch dann auf die Ressource zugreifen können, wenn sie keine Auswahl treffen.

Zusammenfassend

Der Statuscode 300 ist eine Serverantwort, die Clients auffordert, aus mehreren Optionen auszuwählen, um fortzufahren. Dies kann sehr nützlich sein, insbesondere wenn Sie mehrere Versionen einer Ressource (Seite, Dateiformate) haben, aus denen Clients auswählen können.

Es gibt jedoch auch einige Einschränkungen, die es in einigen Szenarien ungeeignet machen. Wenn Sie sich entscheiden, es in Ihre Website oder Anwendung zu integrieren, sollten Sie seine Vor- und Nachteile abwägen. Wir hoffen, dass Sie nach dem Lesen dieses Artikels eine fundierte Entscheidung treffen.

Diesen Artikel teilen