[Web] Http Status Code

2023. 10. 27. 13:22Study/Computer Science

클라우드 환경에서 Http API를 통해 통신하는 것이 대부분임
이때, 응답 상태 코드를 통해 성공/실패 여부를 확인할 수 있으므로 API 문서를 작성할 때 꼭 알아야 할 것이 HTTP status code이다.

 

1️⃣10X : 정보 확인

 

2️⃣ 20X : 통신 성공

상태코드 이름 의미
200 OK 요청 성공(GET)
201 Create 생성 성공(Post)
202 Accepted 요청 접수O, 리소스 처리X
204 No Contents 요청 성공O, 내용 없음
202코드는 주로 비동기 처리에서 사용되며, 클라이언트에게 요청이 성공적으로 수신되었으나 서버에서 즉시 처리되지 않고 백그라운드에서 처리될 예정임을 알려줍니다. 이를 통해 클라이언트는 요청이 수신되었음을 알 수 있으나, 요청의 최종 결과에 대한 정보는 제공받지 못합니다.

 

3️⃣ 30X : 리다이렉트

상태코드 이름 의미
300 Multiple Choice 요청 URI에 여러 리소스가 존재
301 Move Permanently 요청 URI가 새 위치로 옮겨감
304 Not Modified  요청 URI의 내용이 변경X
301 응답은 클라이언트에게 원래의 URL을 더 이상 사용하지 않고 새 URL을 사용하라는 지시를 제공합니다. 이 때, 서버는 'Location' 헤더에 새 URL을 제공하여 클라이언트가 이후의 요청을 새 URL로 보낼 수 있도록 합니다.
예를 들어, 웹사이트를 새 도메인으로 이전했을 때 301 상태 코드를 사용할 수 있습니다. 이 경우, 기존 도메인으로 들어오는 모든 요청을 새 도메인으로 영구적으로 리디렉션하여, 사용자가 자동으로 새 웹사이트를 방문할 수 있도록 합니다.
304 응답은 'Not Modified'를 의미합니다. 이 코드는 클라이언트가 가지고 있는 캐시된 버전이 여전히 최신인 경우에 서버가 반환하는 응답입니다.
클라이언트가 서버에게 특정 리소스의 최신 버전을 요청할 때, 만약 클라이언트가 가진 버전이 이미 최신이라면 서버는 전체 리소스를 다시 보내는 대신 304 상태 코드를 반환합니다. 이를 통해 불필요한 네트워크 대역폭의 사용을 줄일 수 있습니다.
이러한 동작은 주로 웹 브라우저와 같은 클라이언트가 'If-Modified-Since' 또는 'If-None-Match' 같은 조건부 HTTP 헤더를 통해 구현됩니다. 이 헤더들은 서버에게 '만약 리소스가 마지막으로 접근한 이후로 수정되지 않았다면, 304 상태 코드를 반환하라'는 메시지를 보냅니다.

4️⃣ 40x : 클라이언트 오류

상태코드 이름 의미
400 Bad Request 잘못된 문법으로 인하여 서버가 요청하여 이해할 수 없음을 의미
401 Unauthorized 인증 오류
403 Forbidden 권한 밖의 접근 시도
404 Not Found 요청 URI에 대한 리소스 존재X
405 Method Not Allowed API에서 정의되지 않은 메소드 호출
406 Not Acceptable  처리 불가
408 Request Timeout 요청 대기 시간 초과
409 Conflict 모순
429 Too many request 요청 횟수 상한 초과

5️⃣ 50X : 서버 오류

상태코드 이름 의미
500 Internal Server Error 서버 내부 오류
502 Bad Gateway 게이트웨이 오류
503 Service Unavailable 서비스 이용 불가
504 Gateway Timeout 게이트웨이 시간 초과

'Study > Computer Science' 카테고리의 다른 글

[DB]SQL vs NOSQL  (1) 2023.10.30
[DB] SQL Injection  (0) 2023.10.27
[DB] JOIN  (0) 2023.10.27
[DB]Key  (0) 2023.10.27
[Web] Http Request Methods  (0) 2023.10.27