HTTP 메서드란
클라이언트와 서버 사이에 이루어지는 요청과 응답데이터를 전송하는 방식
HTTP 메서드의 종류는 총 9가지 지만 주로 쓰이는 메서드는 5가지인데요
주요 메서드로는 GET,POST,PUT,PATCH,DELETE가 있습니다.
주요메서드
GET : 리소스 조회
POST : 요청 데이터 처리 (주로 등록에 사용)
PUT : 리소스 전체 변경 / 해당 리소스가 없으면 생성
PATCH : 리소스 부분(일부) 변경
DELETE : 리소스 삭제
그 외 메서드
HEAD: 서버 리소스의 헤더(메타 데이터의 취득)
OPTIONS: 리소스가 지원하고 있는 메소드의 취득
CONNECT: 프록시 동작의 터널 접속을 변경
HTTP - GET
리소스 조회 메서드(Read)
GET메소드는 주로 데이터를 읽거나 검색할 때 사용되는 메소드입니다
만약 GET요청이 성공적으로 이루어지면 JSON과 함께 200 HTTP 응답 코드를 리턴하지만
에러가 발생한다면 주로 400 에러 혹은 404에러가 발생합니다
"GET요청은 idempotent하다"라고 할 수 있습니다
idempotent하다는 말은 같은 요청을 여러번 하더라도 변함없이 항상 같은 답을 받을 수 있다는 의미를 포함하고 있습니다
HTTP - POST
전달한 데이터 생성 요청 메서드(Create)
메시지 전달
신규 리소스 생성
응답 데이터
POST 메소드는 주로 새로운 리소스를 생성할 때 사용됩니다
POST는 idempotent하지 않습니다
POST요청을 반복해서 했을 때 항상 같은 결과물이 나오는 것을 보장하지 않는다는 의미죠
메서디 바디(body)를 통해 서버로 요청 데이터를 전달하면 서버는 요청 데이터를 처리하여 업데이트합니다
HTTP - PUT
리소스를 대체(수정)하는 메서드 (Update)
만일 요청 메서지에 리소스가 있으면 덮어쓰고 없으면 새로 생성해줍니다
HTTP - PATCH
리소스의 일부 부분을 변경하는 메서드 (Update)
PUT은 모든 요소를 수정해야하지만 PATCH는 일부 부분만 수정할 수 있습니다
PUT과 PATCH 둘다 수정할 때 쓰이는 메소드라 헷갈릴 수 있겠지만 PUT은 전체 갱신, PATCH는 일부 갱신이라는 점!
HTTP - DELETE
리소스를 제거하는 메서드 (Delete)
특정 리소스를 삭제할 때 사용됩니다
삭제 후 상태코드는 주로 200을 사용합니다