HTTP Status Code

Nam Eun-Ji·2020년 11월 24일
0

HTTP

목록 보기
3/9

200

200 OK

  • 일반적인 요청 성공

201 Created

  • 리소스 생성 성공

202 Accepted

  • 비동기 요청에 대한 응답
  • 즉, 이 요청에 대한 응답이 결과를 포함하지 않을 수 있다.
  • 하지만 최소한 응답 헤더나 응답데이터에 해당 처리를 모니터링할 수 있는 리소스 페이지를 안내하거나 혹은 해당 리소스가 처리되기까지의 예상 경과 시간 따위를 안내하는 것이 더 좋은 설계라고 할 수 있다.




300

301 Moved Permanently

  • 해당 URI가 다른 주소로 바뀌었을때 보내는 코드.
  • 새로 리소스가 이동된 URI를 응답 Location 헤더에 명시
HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp




400

400 Bad Request

  • 일반적인 요청실패
  • 대체로 서버가 이해할 수 없는 형식의 요청이 왔을 때(해당 요청이 잘못된 요청일 때 보내는 코드)
  • 주로 요청에 포함된 input 값들이 잘못된 값들이 보내졌을때 사용되는 코드.
    예를 들어, 전화번호를 보내야 되는데 text가 보내졌을때 등등.

401 Unauthorized

  • 리소스 접근 권한을 가지고 있지 않다
  • 유저가 해당 요청을 진행 할려면 먼저 로그인을 하거나 회원 가입을 하거나 등등이 필요하다는것을 나타내려 할때 쓰이는 코드.
  • 예) cookie에 sessionId의 유효시간이 만료되어 권한을 상실하게되고 더이상 작업을 진행할 수 없는 경우

403 Forbidden

  • 서버가 허용하지 않는 웹 페이지나 미디어를 사용자가 요청할 때
  • 유저가 해당 요청에 대한 권한이 없다.
  • 예1) 오직 과금을 한 유저만 볼 수 있는 데이터를 요청 했을때 등.
  • 예2) 로그인을 했지만 관리자 권한이 없기 때문에 관리자페이지는 관리자 권한이 있는 사람만 접근 할 수 있다. 이를 403 코드에서의 권한이라고 할 수 있다.

404 Not Found

  • 요청된 uri가 존재 하지 않는다.
  • REST API의 경우 크게 2가지 경우에 404코드를 응답한다.
    1. 경로가 존재하지 않는 경우
    2. 자원이 존재하지 않는 경우
  • 참고 : REST API에서는 URI가 자원이기때문에 경로=자원이다.

405 Method Not Allowed

  • 클라이언트의 요청이 허용되지 않은 메소드(GET, POST, PUT, DELETE)인 경우
  • 405 코드는 API 설계에 따라 404 코드와 혼동될 수 있으므로 규칙을 잘 정해야한다.
    위의 사진에서 users/1자원에서 지원하지 않는 POST메소드로 요청하는 경우는 405 코드, users/:id 경로에 ID가 1이라는 자원이 없는 경우에는 404 코드를 응답한다.

406 Not Acceptable

  • 요청은 정상이나 서버에서 받아들일 수 없는 요청일 경우
  • 클라이언트 요청에 대해 적절한 컨텐츠가 없는 경우
  • 웹 방화벽에 걸리는 경우

409 Conflict

  • 클라이언트의 요청이 서버의 상태와 충돌이 발생한 경우
  • 자원 현황과 상충되어 요청을 완료할 수 없음
  • 이 코드는 사용자가 충돌을 해결하고 요청을 다시 제출할 수 있는 상황에서 사용된다.
  • 서버는 사용자가 충돌의 원인을 인식할 수 있는 충분한 정보를 포함하는 페이로드(payload)를 생성해야 한다.
  • 예 1) "AA"라는 사용자의 식별자(ID)가 이미 서버(또는 DB)에 존재하고 있는데 회원가입시 같은 ID를 POST로 요청하는 경우
  • 예 2) 어떤 사이트에 "사용자의 게시물이 존재하는 경우 사용자를 삭제할 수 없다"라는 정책이 있는 경우 게시물이 있는 상황에서 사용자를 삭제하는 요청을 보내는 경우




500

500 Internal Server Error

  • 일반적인 서버 에러
  • 4XX대의 에러코드가 클라이언트 측 에러를 나타내기 위해 사용된다면, 5XX대의 에러코드는 서버 측 에러를 나타내기 위해 사용.

503 Service Unavailable

  • 현재 서버에 과부하가 걸려있거나 유지보수를 위하여 잠시 접근이 거부될 때




참고
https://velog.io/@jch9537/HTTP-응답코드-http-응답코드의-선택

profile
한 줄 소개가 자연스러워지는 그날까지

0개의 댓글