주로 사용하는 HTTP 메서드 종류는 다음과 같다.
GET 메서드는 리소스를 조회할 때 사용한다.
서버에 전달하고 싶은 데이터는 query를 통해서 전달할 수 있다.
보통 우리가 주소창에 URI를 입력하고 엔터를 치면 GET방식으로 서버에 요청을 보낸다.
POST 메서드는 요청 메시지 바디부분에 데이터를 담아서 서버에 요청을 보내면 서버는 데이터를 처리한다.
보통 POST를 신규 리소스를 등록하는 역할을 한다고 생각할 수 있는데 사실 데이터를 처리 하는 역할을 한다.
PUT은 리소스를 완전히대체한다. 대체한다는 말은 요청 리소스가 있으면 덮어 씌우고 없으면 생성한다. 만약 기존에 리소스가 존재하는 상태로 PUT으로 데이터 요청을 보내면 기존에 데이터는 완전히 날라가고 요청받은 새로운 데이터로 대체 된다.
얼핏보면 POST와 비슷하지만 가장 큰 차이는 URI에 리소스 위치를 지정해서 요청을 보낸다. 그리고 데이터를 수정한다는 개념과는 조금 다르다. 부분적으로 수정 되는게 아니라 완전 대체 되기 때문
PATCH는 위의 PUT메서드와 다르게 부분 변경이 가능하다.
서버 환경에 따라 PATCH가 인식이 안될 수 도있는데 그럴땐 만능 POST메서드를 사용하면된다.
말그래도 요청 리소스 자체를 삭제하는 메서드이다.
HTTP에서 안전이라는 속성은 요청 리소스가 변하지 않는속성이다. 즉
대표적인 안전한 속성을 가지고있는 메서드는 GET메서드 이다.
GET메서드는 말그대로 리소스를 조회만 하는 메서드이기 떄문에 리소스가 변경되거나 구조가 변경되지 않는다. 이러한 속성을 안전속성이다.
멱등.. 말이 참 어렵다. 하지만 멱등은 이렇게 생각하면 된다.
몇번이고 호출 하든 결과가 똑같은가. 로 정의할 수 있겠다.
멱등 메서드
POST메서드 같은 경우 멱등 메서드가 아니다. POST메서드를 두 번 호출하면 똑같은 데이터 처리를 한번 더 처리 하기 때문에 결과가 달라질 수 있다.
캐시 가능 속성은 응답 결과 리소스를 캐싱해서 사용해도 되는가? 이다.
응답 결과를 로컬 캐시 저장소에 저장해두고 응답을 받을때 까지 기다리는게 아니라 캐시된 리소스를 바로바로 사용할 수 있도록 하는 것이낟.
캐시 가능 메서드