본문 바로가기
Exam & Study

[쉬운설명] HTTP메서드 (GET / POST / PUT / PATCH / DELETE)

by GoodDayDeveloper 2021. 10. 29.
반응형

URI는 리소스를 식별하는 것을 말하며 

이 식별한 리소스를 어떻게 이용하는지가 메소드라고 할 수 있습니다.

 

 

예를 들어 보죠!

가게에서 재고를 확인하고 주문을 넣었을 때,

리소스는 '가게' 이 되고,

메소드는 '재고확인' 또는 '주문신청'이 되는 것입니다.

 

 

HTTP 메서드 종류

 

주요메서드

 

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

 

기타 메서드

 

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

 

 

 

GET

 

리소스를 조회하고 서버에 전달하고 싶은 데이터를 Query (쿼리 파라미터, 쿼리 스트링)로 전달합니다.

메세지 바디를 사용해서 데이터를 전달할 수 있지만, 아직까진 지원하지 않는 곳이 많습니다.

 

 

 

POST

 

요청 데이터를 처리하는 메서드로써, 메세지 바디를 통해 서버로 요청 데이터를 전달합니다.

주로 신규 리소스 등록과 프로세스 상태가 변경되는 경우의 처리 등에 사용됩니다.

(CREATE, UPDATE)

 

 

 

PUT 

 

리소스가 있으면 대체하고 없으면 생성하는 메서드로,

예를 들어 윈도우에서 파일을 어느 폴더로 이동시킬 경우, 

파일이 없으면 파일이 그 폴더로 생성되고

파일이 있으면 덮어쓸지 묻는 알림창을 뜨는 경우를 생각하시면 됩니다.

(PUT은 그냥 덮어버립니다.)

 

 

 

PATCH

 

리소스의 부분만을 변경하는 메서드입니다.

 

 

 

DLEETE

 

단어 뜻대로 리소스를 제거합니다.

 

 

 

 

 

HTTP 메서드의 속성

 

  • 안전(Safe Methods)
  • 멱등(Idempotent Methods)
  • 캐시가능(Cacheable Methods)

 

 

안전

 

호출해도 리소스가 변경되지 않습니다.

 

 

멱등 

 

여러번을 호출해도 결과가 똑같습니다.

GET, PUT, DELETE의 경우 멱등에 해당이 되지만

POST일 경우 프로세스 상태가 변경되기 때문에 멱등이 아닙니다.

 

 

캐시가능

 

GET과 HEAD가 주로 응답 결과 리소스를 캐시로 사용됩니다.

POST나 PATCH는 캐시 키로 구현이 쉽지 않아 자주 사용되지 않습니다.

 

반응형

댓글