대표적인 요청(GET, POST, PUT, PATCH, DELETE)에 대한 대표적인 응답들

줌인·2024년 8월 10일

백엔드

목록 보기
7/12

📍 GET 요청

성공 응답 (2xx)

  • 200 OK: 요청이 성공적으로 처리되었고, 요청된 리소스가 본문에 포함되어 반환됨.
  • 204 No Content: 요청이 성공적으로 처리되었지만 반환할 본문이 없음.

리다이렉션 응답 (3xx)

  • 301 Moved Permanently: 요청된 리소스가 영구적으로 새로운 URI로 이동되었음. 응답은 새 URI를 제공하고, 클라이언트는 이후 요청을 이 URI로 보내야 함.
  • 302 Found: 요청된 리소스가 임시적으로 다른 URI로 이동되었음. 클라이언트는 이후에도 원래 URI를 사용할 수 있음.
  • 304 Not Modified: 리소스가 변경되지 않았음을 나타냄. 클라이언트는 캐시된 버전을 사용할 수 있음.

클라이언트 오류 응답 (4xx)

  • 400 Bad Request: 요청이 잘못되었음. 클라이언트가 요청을 수정해야 함.
  • 401 Unauthorized: 인증이 필요함. 클라이언트는 인증을 통해 자격 증명을 제공해야 함.
  • 403 Forbidden: 클라이언트가 요청된 리소스에 접근할 권한이 없음.
  • 404 Not Found: 요청된 리소스를 찾을 수 없음. 서버는 요청된 리소스가 없음을 의미.

서버 오류 응답 (5xx)

  • 500 Internal Server Error: 서버가 요청을 처리하는 중에 오류가 발생했음.
  • 502 Bad Gateway: 서버가 게이트웨이 또는 프록시로 동작할 때, 잘못된 응답을 받았음.
  • 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없음. (예: 서버 과부하, 유지보수)

📍 POST 요청

성공 응답 (2xx)

  • 200 OK: 요청이 성공적으로 처리되었으며, 리소스가 본문에 포함되어 반환될 수 있음. 이는 새로운 리소스가 생성되지 않았을 때 사용될 수 있음.
  • 201 Created: 요청이 성공적으로 처리되었고, 새로운 리소스가 생성되었음. 응답에는 생성된 리소스의 URI가 포함될 수 있음.
  • 202 Accepted: 요청이 수락되었지만, 아직 처리되지 않았음. 비동기 처리나 큐에 요청을 넣을 때 사용됨.
  • 204 No Content: 요청이 성공적으로 처리되었으나, 반환할 본문이 없음. 예를 들어, 서버에서 데이터를 저장했지만 클라이언트에게 반환할 추가 정보가 없는 경우 사용될 수 있음.

리다이렉션 응답 (3xx)

  • 301 Moved Permanently: 리소스가 영구적으로 다른 위치로 이동되었음. 클라이언트는 이후 해당 URI를 사용해야 함.
  • 303 See Other: 클라이언트가 요청한 리소스가 다른 URI에서 사용 가능함. GET 요청을 사용하여 리소스를 가져와야 함.
  • 307 Temporary Redirect: 요청된 리소스가 임시적으로 다른 URI로 이동되었음. 클라이언트는 POST 요청을 새로운 URI로 보내야 함.

클라이언트 오류 응답 (4xx)

  • 400 Bad Request: 요청이 잘못되었음. 클라이언트가 요청을 수정해야 함.
  • 401 Unauthorized: 인증이 필요함. 클라이언트는 인증을 통해 자격 증명을 제공해야 함.
  • 403 Forbidden: 클라이언트가 요청된 리소스에 접근할 권한이 없음.
  • 404 Not Found: 요청된 리소스를 찾을 수 없음. 서버는 요청된 리소스가 없음을 의미.
  • 409 Conflict: 요청이 현재 서버 상태와 충돌함. 예를 들어, 데이터베이스에서 중복된 리소스가 있을 때 사용될 수 있음.

서버 오류 응답 (5xx)

  • 500 Internal Server Error: 서버가 요청을 처리하는 중에 오류가 발생했음.
  • 502 Bad Gateway: 서버가 게이트웨이 또는 프록시로 동작할 때, 잘못된 응답을 받았음.
  • 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없음. (예: 서버 과부하, 유지보수)

📍 PUT 요청

성공 응답 (2xx)

  • 200 OK: 요청이 성공적으로 처리되었으며, 수정된 리소스가 본문에 포함되어 반환될 수 있음. 일반적으로 요청이 기존 리소스를 완전히 대체한 경우 사용됨.
  • 201 Created: 요청이 성공적으로 처리되었으며, 새로운 리소스가 생성되었음. 이 상태 코드는 주로 리소스가 이전에 존재하지 않았고, PUT 요청으로 인해 새로 생성되었을 때 사용됨.
  • 204 No Content: 요청이 성공적으로 처리되었지만, 반환할 본문이 없음. 이 경우, 리소스가 성공적으로 업데이트되었음을 의미하지만 클라이언트에게 추가 데이터를 반환할 필요가 없을 때 사용됨.

리다이렉션 응답 (3xx)

  • 301 Moved Permanently: 요청된 리소스가 영구적으로 다른 위치로 이동되었음. 클라이언트는 이후 해당 URI를 사용해야 함.
  • 303 See Other: 클라이언트가 요청한 리소스가 다른 URI에서 사용 가능함. PUT 요청 후, 클라이언트가 새로 생성되거나 수정된 리소스를 가져오기 위해 GET 요청을 보내야 할 때 사용됨.
  • 307 Temporary Redirect: 요청된 리소스가 임시적으로 다른 URI로 이동되었음을 나타냅니다. 클라이언트는 PUT 요청을 새로운 URI로 보내야 합니다.

클라이언트 오류 응답 (4xx)

  • 400 Bad Request: 요청이 잘못되었음. 클라이언트가 요청을 수정해야 함.
  • 401 Unauthorized: 인증이 필요함. 클라이언트는 인증을 통해 자격 증명을 제공해야 함.
  • 403 Forbidden: 클라이언트가 요청된 리소스에 접근할 권한이 없음.
  • 404 Not Found: 요청된 리소스를 찾을 수 없음. 예를 들어, 수정하려는 리소스가 존재하지 않을 때 사용됨.
  • 409 Conflict: 요청이 서버 상태와 충돌함. 예를 들어, 리소스의 버전 충돌이 발생할 때 사용됨.

서버 오류 응답 (5xx)

  • 500 Internal Server Error: 서버가 요청을 처리하는 중에 오류가 발생했음.
  • 502 Bad Gateway: 서버가 게이트웨이 또는 프록시로 동작할 때, 잘못된 응답을 받았음.
  • 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없음. (예: 서버 과부하, 유지보수)

📍 PATCH 요청

성공 응답 (2xx)

  • 200 OK: 요청이 성공적으로 처리되었으며, 수정된 리소스가 본문에 포함되어 반환될 수 있음.
  • 202 Accepted: 요청이 수락되었으나, 아직 처리되지 않았음. 이는 비동기 작업의 경우에 사용될 수 있으며, 실제 수정 작업이 완료되지 않았음을 의미함.
  • 204 No Content: 요청이 성공적으로 처리되었지만, 반환할 본문이 없음을. 일반적으로 수정이 성공했음을 나타내지만, 클라이언트에게 별도의 데이터가 필요하지 않은 경우 사용됨.

리다이렉션 응답 (3xx)

  • 301 Moved Permanently: 요청된 리소스가 영구적으로 다른 위치로 이동되었음. 클라이언트는 이후 해당 URI를 사용해야 함.
  • 303 See Other: 요청된 리소스가 다른 URI에서 사용 가능함. PATCH 요청 후 클라이언트가 수정된 리소스를 가져오기 위해 GET 요청을 보내야 할 때 사용됨.
  • 307 Temporary Redirect: 요청된 리소스가 임시적으로 다른 URI로 이동되었음. 클라이언트는 PATCH 요청을 새로운 URI로 보내야 함.

클라이언트 오류 응답 (4xx)

  • 400 Bad Request: 요청이 잘못되었음. 예를 들어, 수정하려는 데이터의 형식이 잘못되었거나 요청에 문제가 있는 경우 사용됨.
  • 401 Unauthorized: 인증이 필요함. 클라이언트는 인증을 통해 자격 증명을 제공해야 함.
  • 403 Forbidden: 클라이언트가 요청된 리소스에 접근할 권한이 없음.
  • 404 Not Found: 요청된 리소스를 찾을 수 없음. 수정하려는 리소스가 존재하지 않을 때 사용됨.
  • 409 Conflict: 요청이 서버 상태와 충돌할 때 사용됨. 예를 들어, 다른 클라이언트에 의해 리소스가 동시에 수정되고 있을 때 발생할 수 있음.

서버 오류 응답 (5xx)

  • 500 Internal Server Error: 서버가 요청을 처리하는 중에 오류가 발생했음.
  • 502 Bad Gateway: 서버가 게이트웨이 또는 프록시로 동작할 때, 잘못된 응답을 받았음.
  • 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없음. (예: 서버 과부하, 유지보수)

📍 DELETE 요청

성공 응답 (2xx)

  • 200 OK: 요청이 성공적으로 처리되었으며, 요청된 리소스가 삭제되었음. 이 상태 코드는 삭제된 리소스에 대한 정보를 함께 반환할 때 사용될 수 있음.
  • 202 Accepted: 요청이 수락되었지만, 아직 처리되지 않았음. 이 상태 코드는 비동기 삭제 작업을 나타낼 때 사용될 수 있으며, 리소스가 즉시 삭제되지 않을 때 사용됨.
  • 204 No Content: 요청이 성공적으로 처리되었지만, 반환할 본문이 없음. 일반적으로 리소스가 성공적으로 삭제되었음을 나타내지만, 클라이언트에게 반환할 추가 정보가 필요하지 않은 경우 사용됨.

리다이렉션 응답 (3xx)

  • 301 Moved Permanently: 요청된 리소스가 영구적으로 다른 위치로 이동되었음. 이는 보통 DELETE 요청과는 관련이 적지만, 리소스의 위치가 변경된 상황에서 사용될 수 있음.
  • 303 See Other: 클라이언트가 요청한 리소스가 다른 URI에서 사용 가능함. 클라이언트가 DELETE 요청 후, 새로운 URI에서 리소스를 확인하거나 다른 작업을 해야 할 때 사용됨.
  • 307 Temporary Redirect: 요청된 리소스가 임시적으로 다른 URI로 이동되었음. 클라이언트는 DELETE 요청을 새로운 URI로 보내야 할 수 있음.

클라이언트 오류 응답 (4xx)

  • 400 Bad Request: 요청이 잘못되었음. 예를 들어, 클라이언트가 잘못된 형식의 데이터를 전송했거나, 요청에 문제가 있을 때 사용됨.
  • 401 Unauthorized: 인증이 필요함. 클라이언트는 인증을 통해 자격 증명을 제공해야 함.
  • 403 Forbidden: 클라이언트가 요청된 리소스에 접근할 권한이 없음.
    404 Not Found: 요청된 리소스를 찾을 수 없음. 예를 들어, 삭제하려는 리소스가 존재하지 않을 때 사용됨.
  • 409 Conflict: 요청이 서버 상태와 충돌함. 예를 들어, 리소스를 삭제할 수 없는 상태나 삭제 시 데이터 무결성이 손상될 수 있는 상황에서 사용됨.

서버 오류 응답 (5xx)

  • 500 Internal Server Error: 서버가 요청을 처리하는 중에 오류가 발생했음.
  • 502 Bad Gateway: 서버가 게이트웨이 또는 프록시로 동작할 때, 잘못된 응답을 받았음.
  • 503 Service Unavailable: 서버가 현재 요청을 처리할 수 없음. (예: 서버 과부하, 유지보수)
profile
지극히 개인적인 복습 블로그

0개의 댓글