HTTP状態コード


開始前..。


このレッスンでは、HTTPステータスコードを整理します.ここではすべてのステータスコードを整理するのではなく、よく使われるステータスコードを中心に整理します.

HTTPステータスコードとは?


HTTP応答ステータスコードは、特定のHTTPリクエストが正常に完了したかどうかを示します.応答は5つのグループに分かれている.
  • 100回:
  • に応答して情報を提供
  • 200回:成功応答
  • 300番組:
  • 直通
  • 400ペア:クライアントエラー
  • 500回:サーバエラー
  • 💻 参考にする.ステータスコードはsection 10 of RFC 2616に定義される.

    400 Bad Request


    このステータスコードは、クライアントが送信した値をサーバで検証したときに無効と判断して再転送するために使用されます.
    例えば、ページ番号が1から1未満である場合、または投稿を登録する際にtitle、body、tags情報がフォーマットに合致しなければならないが、1つまたはタイプの違いが欠けている場合、400が生成される.

    401 Unauthorized


    HTTP規格は「無許可(無許可)」を明示しているが、これは「無許可」を意味する.クライアントは、リクエストの応答を受信するために自己検証する必要があります.
    たとえば、クライアントがログインしようとしたが、サーバが検証済みで、IDとパスワードが完全に一致していない場合は、この操作を実行できます.

    403 Forbidden


    クライアントはコンテンツにアクセスする権利がありません.たとえば、サーバは承認されていないので、拒否するために適切な応答を送信します.401とは異なり、サーバはクライアントが誰であるかを知る際に使用される.
    たとえば、すでにログインしているが、私が作成した投稿ではなく、他人の投稿を変更または削除しようとしている場合は、ステータスコードが発生します.

    404 Not Found


    サーバはリクエストされたリソースを見つけられませんでした.ブラウザでは不明なURLを意味します.これは、APIでは、エンドポイントは適切であるが、リソース自体は存在しないことを意味する可能性がある.通常、ないURLを要求すると、404エラーが自動的に発生するのを見たことがあります.
    例えば、GET /posts/:idがあるpostを要求し、そのpostが存在しない場合、404 Not Foundが意図的に励起される可能性がある.これをしなくても自動的に発生しますが、もしあなたが別の情報を伝えたいときや、私が作った404 notfoundデザインを見せたいなら、それを使ってもいいです.
    res.status(404).json({
      message: "해당 포스트는 존재하지 않습니다.",
    });

    409 Conflict


    このレスポンスは、リクエストが現在のサーバのステータスと競合しているときに発行されます.
    例えば、会員に加入する場合、DBを調べてすでに存在するidがあることを発見すると衝突し、移行のステータスコードになります.
    res.status(409).json({
      message: "동일한 ID가 존재합니다.",
    });

    500 Interanl Server Error


    サーバーが処理方法を知らない場合が発生しました.サーバはまだ処理方法を知らない.
    export const delete = async (req, res) => {
      try {
        // 동작 로직구현
      } catch (e) {
        res.status(500).json({
          message: "삭제하는데 실패했습니다.",
        });
      }
    };
    通常、上記の文のcatchの後に動作に使用されます.すなわち、tryから削除された論理の処理に問題が発生した場合、catchに進む.次に、ここで500個のステータスコードとエラーメッセージをクライアントに送信します.
    サーバに障害が発生した場合は、一般的に500に転送されます.

    200 OK


    これは、サーバがリクエストを正しく処理していることを意味します.これは、主にサーバが要求されたページを提供していることを意味します.
    例えば、GET /postsが正しいpostリストを返すと、このステータスコードが書き込まれる.
    res.status(200).json({
      posts
    });

    201 Created


    リクエストが成功し、新しいリソースが生成されました.この応答は、通常、POST要求または一部のPUT要求の後に応答する.
    200と同様に、201は主にPOST /postsであり、文章のステータスコードを正しく記述するために使用される.

    204 No Content


    リクエストを送信できる内容はありませんが、タイトルに意味があるかもしれません.≪ユーザー|User|ldap≫-エージェントは、リソース・キャッシュのタイトルを新しいものに更新できます.
    res.status(204).send();
    例えば、特定の文章を削除する操作が成功すれば、明確なメッセージを送信する必要はなく、No Contentを示す204を送信するだけでよい.

    ちょうど


    開発バックエンドでは,どのステータスコードをクライアントに渡すかが混同されることがあるので,この機会に整理する.