주로 정렬 필터(검색어) 에 사용
쿼리 파라미터를 통한 데이터 전송
정적 데이터 조회시 쿼리 파라미터 사용X 리소스 경로로 단순하게 조회 가능
/ 동적 데이터 조회시 쿼리 파라미터 사용 ㅇ
주로 정보를 html form에서 값을 받아 저장을 할떄 사용한다( 회원가입, 상품주문, 데이터변경 등)
form의 내용을 메시지 바디를 통해서 전송(key=value, 쿼리 파라미터 형식)
전송 데이터를 url encoding 처리
단순히 데이터가 아닌 파일을 주고 받을 때 multipart/form-data
서버 to 서버
- 백엔드 시스템 통신
앱 클라이언트
- 아이폰, 안드로이드
웹 클라이언트
- HTML에서 Form 전송 대신 자바 스크립트를 통한 통신에 사용(AJAX)
- 예) React, VueJs 같은 웹 클라이언트와 API 통신
POST, PUT, PATCH: 메시지 바디를 통해 데이터 전송
GET: 조회, 쿼리 파라미터로 데이터 전달
Content-Type: application/json을 주로 사용 (사실상 표준)
- TEXT, XML, JSON 등등
html form 에 데이터를 입력하고 서버로 던지는 방식이기에 클라이언트는 등록될 리소스스의 URI를 모른다.
서버가 새로 등록된 리소스 URI 생성
이걸 컬렉션 이라고 부른다.
1.서버가 관리하는 리소스 디렉토리
2.서버가 리소스의 URI를 생성하고 관리
GET, POST만 지원(한계가 있다)
이를 해결 하기위해 컨트룰URI(컨트룰러) 사용
URI 를 만들떄 리소스 를 추출해서 만든뒤 행위는 HTTP메서드로 만들지만 한계가 있다.->컨트룰URI 사용