Backend:: HTTP Method, Status Code

jahlee·2023년 10월 10일

Backend공부

목록 보기
4/18

HTTP Method 란??

HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 이다.

주요 메소드

  • GET : 리소스 조회
  • POST: 요청 데이터 처리, 주로 등록에 사용
  • PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성
  • PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경)
  • DELETE : 리소스 삭제

기타 메소드

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

멱등성

동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말한다.

간단하게 말해 한번 메소드를 실행한 리소스와 여러번 수행한 리소스의 결과가 동일하다면 멱등성을 가졌다고 생각하면 된다.

멱등성을 가지지 않는 매서드로는 POST, PATCH, CONNECT가 있다.
새로운 리소스를 생성하기 떄문에 매번 다른 결과를 가져온다.

Status Code

서버에서의 처리 결과는 응답 메시지의 상태 라인에 있는 상태 코드(status code)를 보고 파악할 수 있다. 상태 코드는 세 자리 숫자로 되어 있는데 첫 번째 숫자는 HTTP 응답의 종류를 구분하는 데 사용하며 나머지 2개의 숫자는 세부적인 응답 내용 구분을 위한 번호이다.

  • 1XX: Informational(정보 제공)

    임시 응답으로 현재 클라이언트의 요청까지는 처리되었으니 계속 진행하라는 의미입니다. HTTP 1.1 버전부터 추가되었습니다.
  • 2XX: Success(성공)

    클라이언트의 요청이 서버에서 성공적으로 처리되었다는 의미입니다.
  • 3XX: Redirection(리다이렉션)

    완전한 처리를 위해서 추가 동작이 필요한 경우입니다. 주로 서버의 주소 또는 요청한 URI의 웹 문서가 이동되었으니 그 주소로 다시 시도하라는 의미입니다.
  • 4XX: Client Error(클라이언트 에러)

    없는 페이지를 요청하는 등 클라이언트의 요청 메시지 내용이 잘못된 경우를 의미합니다.
  • 5XX: Server Error(서버 에러)

    서버 사정으로 메시지 처리에 문제가 발생한 경우입니다. 서버의 부하, DB 처리 과정 오류, 서버에서 익셉션이 발생하는 경우를 의미합니다.

참조

https://inpa.tistory.com/entry/WEB-🌐-HTTP-메서드-종류-통신-과정-💯-총정리
https://hongong.hanbit.co.kr/http-상태-코드-표-1xx-5xx-전체-요약-정리/
https://developer.mozilla.org/ko/docs/Glossary/Idempotent

0개의 댓글