Ich habe eine Site, die hauptsächlich eine ausgelagerte Liste von Inhalten zeigt (Artikel, Datenelemente usw.), und ich frage mich, ob HTTP 404 zurückgegeben werden soll, wenn der Benutzer außerhalb des verfügbaren Listenbereichs navigiert (z. B. von Hand bearbeitet) url).
Einige Websites zeigen nur "Keine Ergebnisse / Seitennummer außerhalb des Bereichs" an und einige Returns geben zusätzlich den HTTP 404-Status zurück.
Was ist deine Meinung dazu und warum?
AKTUALISIEREN
Es ist nicht und API-Antwort. Diese Frage bezieht sich auf Benutzer angesehene Seiten, die unter anderem eine Liste / Tabelle im Hauptbereich anzeigen.
AKTUALISIEREN
Borderline-Beispiel: Die erste Seite ist eine Seite außerhalb des gültigen Bereichs, da noch keine Daten für die angezeigte Liste vorhanden sind.
Soll ich 404 zeigen? Wenn es Suchergebnis ist, würde ich nichts dagegen haben ... aber für die einfache Anzeige der Auslagerungsliste / Datentabelle scheint hart.
Beispiel: der erste Tag von Stack Overflow ausgeführt und noch keine Fragen vorhanden sind, drücken Sie die Startseite und was, 404 oder nur eine 200 mit "Noch keine Fragen" Nachricht?
Ich würde 404 wählen, wenn die Seitenzahl! = 1 ist, unabhängig davon, wo die Seitennummer im URI liegt (Abfragezeichenfolge oder im Pfad), und gehen Sie nach < a href="http://en.wikipedia.org/wiki/HTTP_404#False_404_errors"> soft 404 wenn es keine Ergebnisse gibt, aber die Seitenzahl genau 1 oder nicht angegeben ist .
Warum?
Ergebnissatz Seite 1 existiert als Zielseite für den Ergebnissatz ( sogar Suchergebnisse - siehe Google hier ), so dass es gefunden wird und existiert (wenn nicht zum Anzeigen der Ergebnismenge) Sie, dass es keine Daten in der Ergebnismenge gibt.
Dann wird keine Ergebnismengen-Seitenzahl außerhalb des Ergebnismengenbereichs gefunden, es gibt keinen sinnvollen Punkt für diese Seite / Ressourcen, daher 404. Wenn man argumentieren sollte, dass sie existiert, um eine Nachricht "Keine weiteren Daten" zu übermitteln sie sind bedeutungsvoll und müssen daher indexiert werden - Suchmaschinen-Albtraum!
HTTP 400 Ungültige Anforderung ist eine schlechte Wahl, da es vermuten lässt, dass die Anfrage niemals korrekt sein kann .
HTTP 400 Ungültige Anfrage - Anfrage könnte vom Server nicht verstanden werden fehlerhafte Syntax Der Kunde SOLLTE NICHT wiederholen Sie die Anfrage ohne Änderungen
404 Not Found ist vage zu diesem Fall und kann in diesem Fall IMO interpretiert werden beide Wege
Der Server hat nichts gefunden Übereinstimmung mit dem Anfrage-URI. Nein es wird angezeigt, ob die Zustand ist vorübergehend oder permanent. Der 410 (Gone) Statuscode SOLLTE verwendet werden, wenn der Server weiß, durch einige intern konfigurierbar Mechanismus, der eine alte Ressource ist permanent nicht verfügbar und hat keine Nachsendeadresse. Dieser Status Code wird häufig verwendet, wenn der Server will nicht genau erklären warum die Anfrage wurde abgelehnt, oder wann keine andere Antwort ist anwendbar .
Ja, wenn es sich um eine API handelt, da 4xx-Fehler auf einen vorübergehenden Mangel an Ressourcen hindeuten, der später möglicherweise besteht. Wenn es keine API ist, würde ich vorschlagen, dass jede 404-Seite ein wenig benutzerfreundlicher ist (zB wie Ссылка ) ).
- wenn der Benutzer außerhalb des verfügbaren Listenbereichs navigiert.
Sie sollten keine Verbindung außerhalb des zulässigen Bereichs bereitstellen. Zeigen Sie auf der letzten Seite der Ergebnisse keinen "nächsten" Link an. Nun, ich denke du machst das nicht. Aber jemand anders kann auf die Seite außerhalb des Bereichs verweisen, was uns eine interessante Frage aufwirft:
Wie bereits gesagt, sollte 404 für eine nicht existierende Ressource zurückgegeben werden. Die eigentliche Frage ist: "Was macht eine Ressource?"
Ich würde sagen, dass, wenn die Anzahl der Ergebnisse oft variiert (zB täglich) und auch abnehmen kann (so dass Seite 9 heute, aber nicht unbedingt morgen existiert), die Listungs- / Suchfunktionalität als Ganzes eine Ressource bildet, nicht einzelne Ergebnisseite, die lediglich einen bestimmten Zustand der Ressource darstellt.
Wenn stattdessen die Anzahl der Ergebnisse nur erhöht werden kann, dh die aufgelisteten Objekte nicht volatil, sondern dauerhaft sind, ist es sinnvoll, 404 für Seiten außerhalb des Bereichs anzuzeigen, da die vorhandene Ergebnisseite eher eine Ressource ist, d Dokument sollte dort bleiben.
Generell denke ich, dass es keine universelle Antwort gibt, aber die Entscheidung liegt beim Webmaster, da keine klare Spezifikation existiert. Man sollte nicht vergessen, dass Statuscodes in erster Linie für nichtmenschliche Kunden (Roboter, Suchmaschinen) zurückgegeben werden, die den Inhalt einer Seite nicht verstehen können. In der Praxis handelt es sich dabei meist um ein SEO-Problem.
Um nur zu erwähnen, dass Ergebnisseiten außerhalb der Reichweite von Google den Status 200 erhalten: (Nicht, dass Google ein Gott ist.)
%Vor%Nun würde ich 404 nicht zurückgeben, weil die Seite im Allgemeinen gefunden wird (wie display.php ? page = 62).
Meiner Meinung nach ist es die beste Lösung, dem Benutzer "Seitennummer außerhalb des Bereichs / nicht verfügbar" und einen Link zur letzten vorhandenen Seite oder einen history.back () -Link mitzuteilen.
Der HTTP-Code 400 ist möglicherweise das, wonach Sie suchen.
Tags und Links http-status-code-404 http-status-codes