2 questions, développées à l'aide du langage javascript Node.js express framework
1. Dans des circonstances normales, la page demande des données. Si les données ne peuvent pas être trouvées, le retour doit-il être écrit en utilisant res.send(), ou doit-il être res.sendStatus(404). dans quelles circonstances le serveur prendra-t-il l'initiative ?
2. Comment le front-end gère-t-il ce 404 ? Est-ce un jugement sur err.response.status et relie la route à la page 404 ? Mais le navigateur signale toujours une erreur et ne reçoit pas
404 signifie ressource introuvable. Si vous utilisez la sémantique RESTful, vous devez renvoyer 404 lorsque la ressource est introuvable. S'il ne s'agit pas d'une sémantique RESTful, vous devez créer la sémantique vous-même. Généralement, 200 seront renvoyés pour faciliter le traitement frontal et les informations d'erreur seront écrites dans le corps du message. Mais cela peut engendrer d’autres problèmes.
Cela dépend du framework que vous utilisez. "Mais le navigateur signale toujours que l'erreur n'est pas obtenue." Je ne sais pas quelle est votre situation. 404 est une erreur en premier lieu.
Si vous disposez de votre propre API, c’est en fait plus facile à dire. Ce que je déteste le plus, c'est que certaines pages web sont directement envoyées au navigateur. Evidemment elles ne sont pas trouvées, mais elles doivent renvoyer un 200 voire un 302 pour accéder à une page dite "erreur". Certains d’entre eux accèdent à la page d’accueil avant même que j’aie le temps de les consulter. Il y a une virgule supplémentaire dans mon lien. Puis-je la modifier manuellement ? Il y a tellement de liens dans une page de liste. J'ai cliqué pour voir lesquels étaient toujours là, mais tous les liens contenant des erreurs ont été renvoyés vers la même page. Comment savoir quels liens sont invalides ?
Traitement backend.
Envoyer la page 404 lorsque tous les itinéraires correspondent
Lorsque le backend répond avec 404, il peut également renvoyer le corps de la réponse. Il n'y a rien de mal à cela. Si l'itinéraire ne peut pas être trouvé, il doit renvoyer 404
Le front-end doit avoir une logique pour gérer le statut 404 de http, et la façon de le gérer varie. Mais il est définitivement inapproprié de passer à la page 404. Donnez-moi simplement un rappel
L'itinéraire n'a pas trouvé la ressource correspondante en fonction de votre URL, il a donc renvoyé 404 Aucune ressource correspondante trouvée