JavaScript 言語 Node.js Express フレームワークを使用して開発された 2 つの質問
1. 通常の状況では、ページはデータを要求します。データが見つからない場合、戻り値は res.send() を使用して書き込まれるべきでしょうか、それとも res.sendStatus(404) であるべきなのでしょうか。どのような状況でサーバーが主導権を持って 404 を返すのでしょうか?
2. フロントエンドはこの 404 をどのように処理し、err.response.status を判断して 404 ページにルートをリンクしますか?しかし、ブラウザは常に not get エラーを報告します
404 はリソースが見つからないことを意味します。 RESTful セマンティクスを使用する場合、リソースが見つからない場合は 404 を返す必要があります。 RESTful セマンティクスではない場合は、自分でセマンティクスを作成する必要があります。通常はフロントエンド処理の都合上 200 が返され、メッセージボディにエラー情報が書き込まれます。しかし、これにより別の問題が発生する可能性があります。
それは使用するフレームワークによって異なります。 「しかし、ブラウザは常にエラーを報告しません。あなたの状況がわかりません。」 404はそもそも間違いです。
独自の API がある場合は、実際には言うのが簡単です。 私が最も嫌いなのは、一部の Web ページがブラウザに直接送信されることです。明らかにそれらは見つかりませんが、「エラー」と呼ばれるページにジャンプするには 200 または 302 を返さなければなりません。中には、私が見る暇もないうちにホームページに飛んでしまう人もいます。 リンクに余分なカンマがありますが、手動で変更できますか?リスト ページに非常に多くのリンクがあり、どれが残っているかを確認するためにクリックしましたが、エラーのあるすべてのリンクが同じページにジャンプしました。どのリンクが無効であるかを確認するにはどうすればよいですか?
バックエンド処理。
すべてのルートが一致したら 404 ページを送信します
バックエンドが 404 で応答する場合、応答本文を返すこともできます。ルートが見つからない場合は、404
フロントエンドには http の 404 ステータスを処理するロジックが必要ですが、その処理方法はさまざまです。ただし、404 ページにジャンプするのは明らかに不適切です。念のためお知らせください
ルートは URL に基づいて対応するリソースを見つけられなかったため、404 一致するリソースが見つかりませんを返しました