HTTP 상태코드 소개 1xx 2xx

김원종·2023년 9월 20일
0

상태 코드
클라이언트가 보낸 요청의 처리 상태를 응답(response)에서 알려주는 기능

  • 1xx (Informational) : 요청이 수신되어 처리중
  • 2xx (Successful) : 요청 정상 처리
  • 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요
  • 4xx (Client Error) : 클라이언트 오류 , 잘못된 문법등으로 서버가 요청을 수행할 수 없음
  • 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함

만약 모르는 상태 코드가 나타난다면??

  • 클라이언트가 인실할 수 없는 상태코드를 서버가 반환하면?
  • 클라이언트는 상위 상태코드로 해석해서 처리
  • 미래에 새로운 상태 코드가 추가되어도 클라이언트를 변경하지 않아도 됨 ( 상위 레벨로 해결! )
  • 예)
    • 299 ??? -> 2xx ( Successful )
    • 451 ??? -> 4xx ( Client Error )
    • 599 ??? -> 5xx ( Server Error )

1xx ( Informational ) : 요청을 보냈을때 요청이 수신되어서 뭔가 처리중이라는 뜻 하지만 실무에서 사용하는 일이 별로 없음!!

2xx ( Successful ) : 클라이언트의 요청을 성공적으로 처리

  • 200 OK : 클라이언트의 요청을 성공적으로 처리한 대표적인 상태
  • 201 Created : 클라이언트가 요청한것을 가지고 서버쪽에서 뭔가 리소스를 생성하는것 주로 POST로 뭔가 등록을 했을때 201 처리
  • 202 Accepted
  • 204 No Content

  • 요청한 내용 GET으로 members의 100번 을 주세요 하고 보내면 서버에서 결과를 정상적으로 잘 처리해서 응답하면 200 OK!!

  • POST인 경우에는 서버에서 자원을 생성하고 자원에 대한 uri관리도 서버에서 한다.
  • POST로 아래 내용의 username 과 age 의 내용을 신규자원으로 등록해주세요 요청을 하면 서버에서 신규 리소스를 만들고 그 URI를 서버에서 알고있으면 HTTP에 응답 코드를 201이라고 내리고 Created라고 내리고 HTTP헤더에 Location 이라고 넣어준다.
    그부분은 새로 생성된 리소스의 uri를 넣어준다. 그럼 201코드가 오면 아 자원이 생성되었고 Location헤더가 있을수 있겠구나 라고 판단할수 있다.

202 Accepted

요청이 접수되었으나 처리가 완료되지 않았음

  • 배치 처리 같은 곳에서 사용
  • 예 ) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리함

204 NO Content

서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음

  • 예 ) 웹 문서 편집기에서 save 버튼
  • save 버튼의 결과로 아무 내용이 없어도 된다.
  • save 버튼을 눌러도 같은 화면을 유지해야 한다.
  • 결과 내용이 없어도 204 메시지(2xx)만으로 성공을 인식할 수 있다.
profile
개린이

0개의 댓글

관련 채용 정보