오봉이와 함께하는 개발 블로그

HTTP - HTTP 상태코드, 2xx - 성공 본문

이론

HTTP - HTTP 상태코드, 2xx - 성공

오봉봉이 2022. 8. 5. 16:49
728x90

상태 코드

클라이어트가 보낸 요청(Request)의 처리 상태를 응답(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
  • 202 Accepted
  • 204 No Content

200 OK

요청

GET /members/100 HTTP/1.1
Host: localhost:8080

응답

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 34
{
  "username": "young",
  "age": 20
}

클라이언트가 요청을 하면 서버에서 응답을 보내준다

201 Created

요청

POST /members HTTP/1.1
Content-Type: application/json
{
  "username": "young",
  "age": 20
}

응답

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 34
Location: /members/100 // 생성된 리소스는 응답의 Location 헤더 필드로 식별
{
  "username": "young",
  "age": 20
}

클라이언트가 요청을 하면 서버에서 응답을 보내준다

202 Accepted

  • 요청이 접수되었으나 처리가 완료되지 않았다.
  • 배치 처리 같은 곳에서 사용
    • 예 : 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리함
  • 잘 사용되지는 않는다.

204 No Content

  • 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음
    • 예 : 웹 문서 편집기에서 save 버튼
      • save 버튼의 결과로 아무 내용이 없어도 된다.
      • save 버튼을 눌러도 같은 화면을 유지해야 한다.
      • 결과 내용이 없어도 204 메시지(2xx)만으로 성공을 인식할 수 있다.
인프런 김영한 지식 공유자님의 강의 - 모든 개발자를 위한 HTTP 웹 기본 지식
728x90
Comments