성장일기

 

 오늘은 HTTP 메소드 종류에 대해서 포스팅 하려고 한다. 백엔드 개발자라면 당연히 기본적으로 알아야하며, 프론트 엔드 개발자(웹, 안드로이드, ios)도 꼭 알아야 한다.

 

 

 

 

HTTP 메소드에는 주요 메소드와 기타 메소드가 있다. 

1. HTTP 주요 메소드


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

 

2. HTTP 기타 메소드


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

 

 

 

HTTP의 주요 메소드에 대해서만 자세히 알아보도록 하겠다.

 

1.1 GET


GET 요청메시지와 응답메시지

  • 리소스 조회
  • 서버에 전달하고 싶은 데이터는 query parameter를 통해서 전달
  • 메시지 바디를 사용해서 데이터를 전달할 수는 있지만, 지원하는 곳이 많지 않아서 권장하지 않음

 

 

1.2 POST


POST 요청메시지와 응답메시지

  • 새 리소스 생성(등록) - 서버가 아직 식별하지 않은 새 리소스 생성
  • 요청 데이터 처리 - 프로세스 처리(비니지스 서비스) ex) 주문, 배달, 결제
  • 다른 메소드로 처리하기 에매한 경우

+ 해당 리소스 URI에 POST 요청이 오면 요청 데이터를 어떻게 처리할지 리소스마다 따로 정의해야 함

 

 

 

1.3 PUT


PUT은 메소드는 리소스를 대체한다. 특성상 경우에 따라서 주의해서 사용해야 한다.

PUT 요청 메시지

 

  • 리소스가 있는 경우

리소스가 있는 경우 -> 리소스 자원을 완전히 대체

 

 

  • 리소스가 없는 경우

리소스가 없는 경우 -> 신규 리소스 생성

 

 

  • 리소스가 있는 경우 2 주의!@

PUT 요청 메시지 2

 

리소스가 있지만 -> 완전히 대체

 

+ PUT 메소드는 존재하는 리소스가 있다면 대체하거나 덮어써버리고, 없다면 생성한다. 따라서 윈도우의 파일저장 시스템과 유사하다고 볼 수 있다.

 

 

 

1.4 PATCH


PATCH 메소드는 리소스를 부분 변경한다.

 

PATCH 요청 메시지

 

리소스가 있는경우 -> age만 부분 변경 (PUT과의 차이가 보이는가?)

 

 

 

1.5 DELETE


DELETE 요청 메시지

 

 

해당 path에 리소스 존재 -> 완전히 제거

 

 

 

 

https://ko.wikipedia.org/wiki/HTTP

 

 

 

전체적으로 개발에서 GET, POST방식 이외에는 보안이 취약해서 사용을 권장하지 않은 글들이 많았다.

 

GET,POST 이외에 보안이 취약하다는 글: http://coashanee5.blogspot.com/2017/03/http.html?m=1

공유하기

facebook twitter kakaoTalk kakaostory naver band