클라이언트에서 서버로 리소스를 요청하기 위해 사용되는 메서드 입니다.
전송해야할 데이터를 쿼리 스트링을 URL 끝 부분에 넣어 전송합니다.
리소스를 생성/업데이트 하기 위해 서버에 데이터를 보내는데 사용되는 메서드 입니다.
전송해야할 데이터를 HTTP 메세지의 Body에 담아서 전송합니다.
멱등성이라고 하는데, 연산을 여러번 적용하더라도 결과가 달라지지 않는 성질을 의미합니다.
GET은 같은 요청에 대해 같은 결과를 매번 던져주고,
PUT은 동일한 데이터를 계속 덮어쓰기하는 결과이기 때문에 멱등합니다.
DELETE의 경우 코드에 따라 에러를 출력할 수도 있겠지만, 데이터의 관점에서 봤을 때 삭제되었다는 사실이 변하지는 않습니다.
반면, POST는 같은 요청이더라도 던져주는 결과가 매번 다를 수 있습니다.
추가로, 데이터를 일부만 수정하는 PATCH의 경우도 멱등성이 보장되지 않을 수 있습니다. (운이 좋으면 결과가 동일할 수도 있음)
https://github.com/JaeYeopHan/Interview_Question_for_Beginner