10
votes

HTTP 404 est-il approprié pour le numéro de page hors de portée sur le contenu paginé?

J'ai un site qui montre principalement une liste de contenu paginé (articles, élément de données, etc.), et je m'interroge sur le retour de HTTP 404 lorsque l'utilisateur navigue en dehors de la plage de liste disponible (par exemple, éditée à la main URL).

Certains sites affichent simplement "Aucun résultat / numéro de page hors de portée" et un retour de retour supplémentaire de retour http 404 Statut.

Quelle est votre prise sur cela et pourquoi?

mise à jour

Ce n'est pas et réponse API. Cette question concerne les pages consultées par l'utilisateur que, entre autres choses, montrez une liste / tableau dans la zone principale.

mise à jour

Borderline Exemple: 1'st Page est une page hors limites car aucune donnée pour la liste indiquée n'existe encore.

Devrais-je montrer 404? Si cela ne vous dérange pas que le résultat de la recherche ne vous dérange pas ... Mais pour une visualisation simple de la liste des pages / la table de données semble dure.

Exemple: le premier jour de débordement de pile et aucune question n'existe encore, vous frappez la page d'accueil et quoi, 404 ou seulement un 200 avec "Pas encore de questions"?


0 commentaires

6 Réponses :


2
votes

Oui, s'il s'agit d'une API, car les erreurs 4XX indiquent un manque temporaire de ressources, cela peut exister plus tard. Si ce n'est pas une API, je suggérerais que toute page 404 est un peu plus conviviale (par exemple comme http://www.didcot.com/forum/?read=1234567 ).


0 commentaires

-1
votes

Eh bien, je ne retournerais pas 404 car la page en général est trouvée (comme Display.php ? Page = 62).

À mon avis, la meilleure solution consiste à indiquer à l'utilisateur "Numéro de page hors de portée / non disponible" et à un lien vers la dernière page existante ou à un lien Historique.back ().

Le code HTTP 400 peut être la chose que vous recherchez.


1 commentaires

Notez que les paramètres de requête font partie de l'URI et le 404 s'applique à l'URI globale, pas seulement la partie de trajet. En outre, 400 est probablement un mauvais choix ici.



8
votes

Je dirais que cela est absolument un cas pour un 404. C'est une demande de ressource qui n'existe pas. Si la page générale / script utilisé pour afficher les éléments est hors de propos.


6 commentaires

Exemple limite, 1'st Page et aucune donnée dans la liste. Devrais-je montrer 404? Pour les résultats de recherche, cela ne me dérangerait-il pas ... mais pour ce cas, c'est dur. Exemple: le premier jour d'existence de dépassement de pile et aucune question n'existe encore, vous appuyez sur la page d'accueil et quoi, 404 ou seulement un 200 avec un message "Pas encore de questions"?


@Woo je dirais que cela dépend un peu de votre configuration. Quel genre d'URL sont en jeu? À quoi ressemblent-ils? Quels types de listes ont-ils interrogé?


Actuellement, je liste des professeurs attachés à une entrée de Shaine et l'URL comme par exemple. / School / XXX / Enseignants /? Page = y


@Wooyek hmmm. Bonne question. Peut-être , strictement parlé, une demande à une page doit être renvoyée avec une "mauvaise demande", car c'est vraiment une chose "gamme" comme argumée dans d'autres réponses. J'irais toujours avec un 404. Je créerais une page d'index ( école / xxx / enseignants ) toujours disponible (pour dire "aucune entrée actuellement" dans le corps) mais toute référence à ? Page = xyz retournerait une 404 si la page est hors de portée. Une demande à un élément inexistant comme un enseignant spécifique ( / enseignants /? Id = 123456 ) serait certainement un cas pour un 404.


Pour une page d'objet spécifique manquante, je n'ai aucun doute, c'est 404 cas. Mais la page de liste est mise en œuvre différemment et la préférence entre 404 et 404 est divisée. Je pense maintenant que cela devrait être décidé par cas, en tenant compte de ce que vous inscrivez et comment peut-il affecter la convivialité et les robots.


@Woo c'est probablement le moyen le plus sain d'aller.



0
votes

Si c'est votre QueryString qui indique à quelle page de retour, 404 pourrait ne pas être appropriée. Si ce n'est pas dans votre querystring, le document n'existe pas et 404 est certainement approprié.


1 commentaires

Alors l'URL est comme / School / XXX / Enseignants /? Page = y - Retourne ensuite Soft 404, if / School / XXX / Enseignants / Page / Y / - Return 404. Correct?



3
votes

J'irais pour 404 lorsque le numéro de page est! = 1 , quel que soit le numéro de page placé dans l'URI (String de requête ou sur le chemin), et allez pour la < un href = "http://fr.wikipedia.org/wiki/http_404#false_404_errors" rel = "NOFOollow NOREFERRER"> SOFT 404 Quand il n'y a pas de résultats, mais le numéro de page est exactement 1 ou non donné .

pourquoi?

set Résultat page 1 est existe comme une page d'atterrissage pour l'ensemble des résultats ( Même les résultats de la recherche - voir Google ici ), il est donc trouvé et existe (sinon pour afficher le jeu de résultats) pour vous indiquer qu'il n'y a pas de données dans le jeu de résultats .

Ensuite, tout numéro de page de résultat extérieur Résultat Set est introuvable, il n'y a pas de point significatif pour ces pages / ressources à exister, donc 404. Si on devrait affirmer qu'ils existent pour transmettre un message "Pas plus de données", donc Ils ont un sens, il est donc nécessaire d'être indexé - Nightmare de moteur de recherche!

HTTP 400 mauvaise demande est un mauvais choix parce que cela suggère Cette demande ne peut jamais être correcte.

http 400 mauvaise demande - demande pourrait ne pas être compris par le serveur en raison de Syntaxe mal formée. le client devrait Ne pas répéter la demande sans Modifications

404 non trouvé est vague à propos de ce cas, et dans Ce cas peut être interprété par les deux manières

Le serveur n'a rien trouvé correspondant à la demande-URI. non l'indication est donnée de savoir si le la condition est temporaire ou permanent. le code d'état 410 (parti) Devrait être utilisé si le serveur sait, à travers certains configurables internes mécanisme, qu'une vieille ressource est en permanence indisponible et n'a pas adresse de réexpédition. Ce statut Le code est couramment utilisé lorsque le serveur ne souhaite pas révéler exactement pourquoi La demande a été refusée, ou quand Aucune autre réponse n'est applicable .


0 commentaires

1
votes

- Lorsque l'utilisateur navigue en dehors de la plage de liste disponible.

Vous ne devez pas fournir de lien hors de portée. Dans la dernière page des résultats, ne montrez pas un lien «suivant». Eh bien, je suppose que vous ne faites pas ça. Mais quelqu'un d'autre peut créer un lien vers votre page hors de portée, qui nous apporte une question intéressante:

Comme déjà dit, 404 devraient être retournés pour une ressource inexistante. La vraie question est la suivante: "Qu'est-ce qui fait une ressource?"

Je dirais que si le nombre de résultats varie souvent (par exemple quotidiennement) et peut également diminuer (la page de résultat # 9 peut également exister aujourd'hui mais pas nécessairement demain), la fonctionnalité de la liste / de recherche dans son ensemble fait une ressource, pas une page de résultat unique, qui représente simplement un état particulier de la ressource.

à la place, si le nombre de résultats ne peut qu'augmenter, c'est-à-dire Les objets énumérés ne sont pas volatifs mais permanents, il est logique de montrer 404 pour des pages hors gamme, car la page de résultats existante ressemble davantage à une ressource, c'est-à-dire un document destiné à y rester.

Généralement, Je pense qu'il n'y a pas de réponse universelle, mais la décision est à la hauteur du Webmaster, car aucune spécification suffisamment claire n'existe. On devrait rappeler que les codes d'état sont renvoyés principalement pour les clients non-humains (robots, moteurs de recherche) qui sont incapables de montrer le contenu de la page, donc dans la pratique, il s'agit principalement d'une question de référencement.

juste à mentionner , les pages de résultat hors portée sont attribuées à un statut 200 par Google: (non que Google est un dieu.) xxx


1 commentaires

Je conviens que c'est une préférence et des robots sont ici le facteur décisif, c'est que je suis en faveur de 404. Mais comme il ne devrait pas y avoir de liens hors de portée SOFT 404 ne blesserait aucun robot. Encore une fois si l'utilisateur est une URL de montage à la main, nous n'avons pas besoin d'aller doux sur eux :) ... ehhh, je retourne une pièce de monnaie.