서버에게 리소스 조회를 요청할 때 사용
→ 서버에게 전달하고 싶은 데이터는 쿼리 파라미터를 통해서 전달한다.
→ 메시지 바디를 통해 데이터를 전달할 수 있지만, 지원하지 않는 서버가 많아 권장하지 않는다.
메시지 바디를 통해 서버에게 요청 데이터를 전달할 때 사용
→ 서버는 요청 데이터를 처리한다.
→ 어느 URI에 POST 요청이 오면 요청 데이터를 어떻게 처리할지는 정해진 것이 없어 리소스마다 따로 정해줘야 한다.
ex) 새 리소스를 등록, 프로세스 처리, 다른 메서드로 처리하기 애매한 경우
→ URL에 데이터가 노출되진 않기 때문에 GET보다 안전하다.
서버가 이미 요청의 리소스를 가지고 있으면 기존 리소스를 삭제하고 덮어쓰고, 해당 리소스가 없으면 생성한다.
→ 클라이언트가 리소스의 위치를 알고 URI를 지정해주어야 한다.
ex) PUT /members/100
리소스를 부분적으로 변경할 때 사용
특정 리소스의 삭제를 요청할 때 사용
→ 메소드를 여러번 호출해도 리소스가 변경되지 않는 것을 의미한다.
→ 읽기 전용인 경우 안전한 메서드로 간주하여 GET이 안전한 메서드에 속한다.
→ 동일한 요청을 한 번 보내는 것과 여러 번 보내는 것이 같은 결과를 보이고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말한다.
→ 재사용을 위해 응답 결과 리소스를 저장할 수 있음을 의마한다.
https://www.inflearn.com/course/http-웹-네트워크
https://ko.wikipedia.org/wiki/HTTP
https://feel5ny.github.io/2019/08/16/HTTP_003_02/