본문 바로가기
Study

HTTP Method 파헤치기

by jisayDeveloper 2023. 9. 5.
728x90
반응형
SMALL

HTTP Method 는 크게 4가지(GET, POST, PUT, DELETE)가 대표적인데
CRUD에서 다음과 같이 이용합니다.

조회 : GET
등록 : POST
수정 : PUT
삭제 : DELETE

종류

  • GET : 서버로 부터 데이터를 취득
  • POST : 서버의 데이터를 추가, 작성 등
  • PUT : 서버의 데이터를 갱신, 작성 등
  • DELETE : 서버의 데이터를 삭제

참고 - 멱등성(Idempotence)

멱등성이란 여러번 수행해도 결과가 같음을 의미한다. 즉, 호출로 인해 데이터가
변형이 되지않는다는 것을 의미

 

GET

정의

GET메서드는 주로 데이터를 읽거나(Read) 검색(Retrieve)할 때에 사용되는 메서드이다.
만약에 GET요청이 성공적으로 이루어진다면 XML이나 JSON과 함께 200 HTTP응답 코드를 리턴한다.
에러가 발생하면 404 에러나 400 에러가 발생한다.(추후 HTTP 응답코드 포스팅을 따로 하겠습니다.)

  • HTTP명세에 의하면 GET 요청은 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않는다
  • GET 요청은 멱등하다
  • 같은 요청을 여러번 하더라도 변함없이 항상 같은 응답을 받을 수 있다.
  • 데이터를 변경하는 연산에 사용하면 안된다.

특징

데이터를 조회하는 것이기 때문에 요청시에 Body 값과 Content-Type이 비워져있다.
조회할 데이터에 대한 정보는 URL을 통해서 파라미터를 받고 있는 모습을 볼 수 있다.

데이터 조회에 성공한다면 Body에 데이터 값을 저장하여 성공 응답을 보낸다.

GET은 캐싱이 가능하여 같은 데이터를 한번 더 조회할 경우에 저장한 값을 사용하여
조회 속도가 빨라진다.


 

POST

정의

POST 메서드는 주로 새로운 리소스(자원)를 생성할 때 사용한다. 조금 더 구체적으로 POST는
하위 리소스(부모 리소스위 하위 리소스)들을 생성하는데 사용된다. 성공적으로 수행하면
201 HTTP 응답을 받는다.

  • POST는 멱등하지 않다.
  • 같은 POST 요청을 반복해서 했을 때 항상 같은 결과물이 나오는 것을 보장하지 않는다.
  • 두개의 같은 POST 요청을 보내면 같은 정보를 담는 두개의 다른 리소스를 반환할 가능성이 높다.

특징

데이터를 생성하는 것이기 때문에 요청시에 Body와 Content-Type 값을 작성해야한다.
URL을 통해서 데이터를 받지 않고, Body 에 담긴 데이터를 통해 받는다.
데이터 조회에 성공한다면 Body 값에 저장한 데이터 값을 저장하여 성공 응답을 보낸다.


 

PUT

정의

PUT은 리소스를 주로 업데이트 하기 위해 서버로 데이터를 보내는데 사용합니다.

  • PUT요청은 멱등합니다.
  • 동일한 PUt 요청을 여러번 호출하면 항상 동일한 결과가 생성됩니다.

특징

데이터를 수정해야 하므로 Body 와 Content_Type 값을 작성해야한다.
URL을 통해 어떠한 데이터를 수정할 지 파라미터를 받는다. 그리고 수정할 데이터 값을 Body에
담긴 값을 통해 받는다.

데이터 조회에 성공한다면 Body 값에 저장한 데이터 값을 저장하여 성공응답을 보낸다.

 


DELETE

정의

DELETE 메서드는 지정된 리소스를 삭제한다.

특징

데이터를 삭제하기에 요청시 Body와 Content-Type 값이 비워져 있다.
URL을 통해서 어떠한 데이터를 삭제할 지 파라미터를 받는다.

데이터 삭제에 성공한다면 Body 값 없이 성공응답만 보내게 된다.


GET vs POST

구분 GET POST
목적 서버의 리소스에서 데이터를 요청할 때 서버의 리소스를 생성하거나 업데이트할 때
Body 유무 X O
멱등성 O X

 

728x90
반응형
LIST