3 Stimmen

Dem Benutzer eine 404-Meldung geben, wenn der Querystring fehlt?

Angenommen, ich benötige einen Querystring, zum Beispiel "itemid". Wenn dieser Querystring aus irgendeinem Grund fehlt, sollte ich dem Benutzer eine 200-Fehlerseite oder eine "404 Not Found" anzeigen?

Ich würde 404 bevorzugen, aber ich bin mir nicht ganz sicher.

7voto

Leo Lännenmäki Punkte 2690

Vielleicht sollten Sie eine "400 schlechte Anfrage" stellen.

Die Anfrage konnte vom Server aufgrund einer fehlerhaften Syntax nicht verstanden werden. Der Client SOLLTE die Anfrage NICHT unverändert wiederholen.

Véase http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html für weitere Möglichkeiten.

Und wie Chris Simpson sagte, geben Sie eine "404 Not Found"-Meldung aus, wenn kein Artikel für die entsprechende Artikel-ID gefunden wird.

Sie könnten auch populäre RESTful-Apis überprüfen, um zu sehen, wie andere das Problem gelöst haben. Zum Beispiel Twitter .

1voto

Chris Simpson Punkte 7571

Gute Frage. Ich persönlich würde eine 200 verwenden und eine benutzerfreundliche Fehlermeldung zur Verfügung stellen, die das Problem erklärt, aber das hängt wirklich von den Umständen ab.

Würden Sie auch 404 anzeigen, wenn zwar die itemid angegeben wurde, der betreffende Artikel aber nicht existiert?

1voto

Ragoczy Punkte 2827

Vom Standpunkt der Benutzerfreundlichkeit aus würde ich sagen, weder noch.

Sie sollten eine Seite anzeigen, die dem Benutzer mitteilt, was falsch ist, und ihm die Möglichkeit gibt, das Problem zu beheben.

Wenn der Link von einer anderen Seite auf Ihrer Website (oder einer anderen Website) kommt, dann eine Seite, die ihnen mitteilt, dass der angeforderte Artikel nicht gefunden wurde, und sie auf eine entsprechende Seite weiterleitet, vielleicht eine, auf der sie Artikel durchsuchen können?

Wenn der Benutzer den Querystring selbst eintippt, stellt sich die Frage: Warum? Da der URI in der Regel nicht benutzerfreundlich ist.

1voto

Azder Punkte 4558

Sie sollten einem Benutzer nur dann einen 200-Code geben, wenn die HTTP-Anfrage, die Sie erhalten haben, mit einer angemessenen Antwort beantwortet wurde, auch wenn es sich nur um einen einfachen HTML-Code handelt, der besagt, dass ein Parameter fehlt. Der 404-Code wird verwendet, wenn der User Agent eine Ressource anfordert, die nicht vorhanden ist.

In dieser Liste finden Sie weitere Informationen http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

-1voto

Bjorn Punkte 64323

Geben Sie einen 500-Fehler, wahrscheinlich einen 501-Fehler. Dies wird es einem Browser oder Code ermöglichen, es durch bestehende onError-Mechanismen zu behandeln, anstatt auf eine eigene Art und Weise darauf zu warten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X