네트워크를 공부하다가, 혹은 머리를 박으면서 공부를 하다보면
GET, PUT, POST 등등.. 에 마주치게 된다.
나도 이런 문제를 겪었었고, 역시나 몰라서 찾아보았다.
그런 당신을 위해서 준비했습니다! http method 정리!
RESTful 한 머시기.. REST 어쩌구.. 그냥 정리 블로그에 보면 나오는 말들이다.
http method를 알기 전에 먼저 REST가 뭔지 알아야한다.
사람들이 인터넷을 할 때,
(1) 정확한 위치에서
(2) 정확한 행동을
(3) 정확한 방법을 통해
하기 위해서 어떤 규격을 정해놓았다. 이게 바로 REST 라고 할 수 있다.
REST : Representational State Transfer 의 약자
위의 "행위"의 정확성을 만족시키기 위해 HTTP Method를 쓴다!
그럼 방법에는 총 몇가지가 있고, 어떤 방법을 설명하는지, 언제 쓰면 좋을지 알아보도록 합시다.
HTTP 의 종류
주로 데이터를 읽거나(Read) 검색(Retrieve)할 때에 사용되는 메소드이다.
다르게 말하면 정보를 바꾸지 않고, 읽어오기만 할 때 쓰인다.
성공 시(200) :
만약 응답코드가 200 으로 정상이면, Body에 읽어오고 싶은 정보가 실려서 오게된다.
실패 시(400,404) :
해당 URL이 잘못되거나, 권한이 없을 경우(URL 존재 자체를 숨기고 싶을 때)
400, 404 에러를 돌려준다.
POST 메소드는 주로 새로운 리소스를 생성(create)할 때 사용된다. 조금 더 구체적으로 POST는 부모 리소스의 하위 단계인 자식 리소스를 생성할 때 사용한다.
리소스 생성 성공 시, 201 이 온다.
리소스가 있으면 대체하고, 없으면 생성한다.
UPDATE 느낌이다.
서버의 데이터를 삭제할 때 사용
하지만 안전성의 문제로 대부분의 서버에서 비활성 상태로 운영
GET 방식과 동일하지만 응답에 BODY는 없고,
응답코드와 HEAD만 응답.
웹서버 정보확인, 헬스체크, 버전확인, 수정날짜 확인에 쓰인다.
PUT방식과 유사하게 UPDATE 할 때 쓰이지만,
일부분만 UPDATE 할 때 쓰인다.
PUT의 경우 자원 전체를 갱신하지만, PATCH는 정해진 일부분만 갱신!