HTTP(메서드)
GET
- 리소스(자원)의 조회를 할때 사용한다
- 서버에 전달하고 싶은 데이터는 query(쿠리 파라미터, 쿼리 스트링)를 통해서 전달한다
- 전달시 메시지 바디를 사용해서 데이터를 전달할 수 있지만 , 지원하지 않는 곳이 많아서 사용하지않는게 좋음

클라이언트에서 /member파일의 파라미터 100으로 요청을 한다, 서버는 요청받은 데이터를 찾는다

서버는 찾은 데이터를 클라이언트에 전송하고 클라이언트는 전송받은 데이터 수신코드200이면 데이터를 전달받는다
POST
- 데이터를 전송할 때 바디에 담아서 보낸다
- GET과 다르게 URI쿼리스트링에 데이터를 담을 수 없기 때문에 바디에 전송할 데이터를 담는다

POST의 바디에 데이터를 서버로 넘긴다

서버는 클라이언트에서 받은 요청받은 URI의 폴더를 찾아가서 바디의 데이터를 토대로 신규 리소스를 등록하고 100이라는 ID(식별자)를 부여한다

클라이언트는 서버에서 받은 해더정보의 Location : 자원이 생성된 경로 를 알수있고 바디에 생성된 데이터가 담겨온다
POST사용 예
1. 새 리소스 생성(등록)
: 서버가 아직 식별하지 않은 새 리소스를 생성할 때 (회원등록)
2.요청 데이터 처리
- 단순히 데이터를 생성하거나, 변경하는 것을 넘어서 프로세스를 처리해야 하는 경우
예) 주문에서 결제완료 > 배달시작 > 배달완료 처럼 단순히 값 변견을 넘어 프로세스의 상태가 변경되는 경우
3.다른 메서드로 처리하기 어려운 경우
: 조회시 JSON으로 조회 데이터를 넘겨야 하는데 GET메서드를 사용하면 바디에 데이터를 넘겨도 서버에서 처리를 지원하지 않는 서비스 도 많기 때문에 POST로 넘긴다
PUT
1. 기존에 리소스가 있으면 리소스를 새로운 데이터로 덮어씌우고 기존에 리소스가 없으면 새로 추가한다
2. POST와의 차이 : URI의 리소스번호(id)도 알아야 한다


리소스가 있을 때는 기존 리소스에 클라이언트에서 받은 리소스로 완전히 변경이 된다


클라이언트에게 전달받은 리소스의 지정된 데이터가 없으면 새로 리소스가 생성이 된다
※번외 (전달받은 데이터에서 리소스의 기존 데이터의 필드가 다를 때)※


기존 리소스에 클라이언트에게 전달받은 필드 데이터가 부족한 경우 기존 username필드는 삭제되고 클라이언트에게 전달받은
데이터만이 기존 리소스에 덮어씌워진다
이럴 때 기존 데이터의 값을 살리며 클라이언트에게 전달받은 데이터만 리소스에 변경하고 싶을 때 사용하는게 PACH이다


DELETE


클라이언트에게 전달받은 리소스의 값을 찾아서 서버에 있던 리소스를 삭제한다