http status code / methods

Woozi·2022년 9월 15일
0

HTTP status code

HTTP status code란?

HTTP Response의 상태라인에 담긴다.

클라이언트가 보낸 HTTP 요청에 대한 서버의 응답 코드로, 상태 코드에 따라 요청의 성공/실패 여부를 판단한다.

HTTP status code를 알아야 하는 이유

REST API에서 HTTP를 사용하는것이 일반적이기 때문에 REST API를 설계하려면 HTTP status code를 목적에 맞게 사용할 수 있어야 한다.

서버가 클라이언트에 상태 코드를 보내주고 클라이언트를 이를 가지고 다음 행동을 취하기 때문에 프론트엔드와의 협업 과정에서 매우 중요하다.

HTTP 상태 코드 분류

상태 코드의 첫 번째 숫자에 따라 크게 5가지 분류 된다.

  • 1xx : Informational
  • 2xx : Success
  • 3xx : Redirection
  • 4xx : Client Error
  • 5xx : Sever Error

1xx : 조건부 응답

요청을 받았으며 작업을 계속함을 의미한다.(이 상태 코드는 거의 쓰이지 않는다.)

전송 프로토콜 수준의 정보 교환

2xx : 성공

요청을 성공적으로 받았으며, 인식했고, 수용함을 의미한다.

3xx : 리다이렉션 완료

요청 완료를 위해 추가 작업 조치가 필요함을 의미한다.

4xx : 요청 오류

요청의 문법이 잘못되었거나 요청을 처리할 수 없음을 의미한다.

4xx 코드는 클라이언트와 직접적인 관련이 있는 코드이기 때문에 중요하다.

400, 401, 403, 404 코드는 자주 쓰이기 때문에 외우는것도 좋을것같다.

5xx : 서버 오류

서버가 명백히 유효한 요청에 대해 충족을 실패했음을 의미한다.

HTTP method

HTTP method란?

HTTP 메서드는 클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단이다. 최초의 HTTP에서는 GET 메서드 하나밖에 없었지만 이후 다양한 메서드들이 생겨났다.****

주요 메서드

  • GET : 리소스 조회
            URL에 데이터를 담아 보내기 때문에 보안 위험이 존재
  • POST : 요청 데이터 처리, 주로 데이터 등록에 사용
               메시지 바디를 통해 데이터를 전달한다.
  • PUT : 리소스를 대체, 해당 리소스가 없으면 생성
  • PATCH : 리소스를 일부만 변경
  • DELETE : 리소스 삭제

기타 메서드

  • HEAD: GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환
  • OPTIONS: 대상 리소스에 대한 통신 가능 옵션을 설명(주로 CORS에서 사용)
  • CONNECT: 대상 자원으로 식별되는 서버에 대한 터널을 설정
  • TRACE: 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행

HTTP 메서드의 속성

  1. 안전(Safe Method)

    계속해서 메서드를 호출해도 리소스를 변경하지 않는다는 뜻이다. 주요 메서드중에는 GET 메서드가 안전하다고 볼 수 있다.

  2. 멱등(Idempotent Methods)

    메서드를 계속 호출해도 결과가 똑같다는 뜻이다. GET, PUT, DELETE는 멱등하다고 볼 수 있지만 POST나 PATCH는 멱등하다고 볼 수 없다.

  3. 캐시가능(Cacheable Methods)

    캐시가능하다는 말은 말 그대로 캐싱을 해서 데이터를 효율적으로 가져올 수 있다는 뜻이다. GET, HEAD, POST, PATCH가 캐시가 가능하지만 실제로는 GET과 HEAD만 주로 캐싱이 쓰인다고 한다.

참고사이트

HTTP 상태 코드

HTTP 응답 메시지의 상태 코드들 정리. [네트워크 면접 질문2]

http 메소드와 상태코드

profile
주니어 개발자

0개의 댓글