1. 메시지 전달 방식

종류 설명
Query parameter - GET 메서드가 해당된다.
- 주로 게시판 목록의 정렬 필터, 검색 등에 사용된다.
Message body - POST, PUT, PATCH 메서드가 해당된다.
- 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 등에 사용된다.

 

2. 메시지 전달 상황

종류 설명
정적 데이터 조회 - 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능하다.
- GET을 사용한다.
- 이미지, 정적 텍스트 문서 등을 조회하는 경우가 해당된다.
동적 데이터 조회 - 쿼리 파라미터를 사용해서 데이터를 전달한다.
- GET을 사용한다.
- 주로 게시판 목록의 정렬 필터, 검색 등에 사용된다.
HTML Form을 통한 데이터 전송 - GET, POST를 사용한다.
- 회원 가입, 상품 주문, 데이터 변경 등에 사용된다.
HTTP API를 통한 데이터 전송 - GET: 조회, 쿼리 파라미터로 데이터를 전달한다.
- POST, PUT, PATCH: 메시지 바디를 통해 데이터를 전송한다.
- Content-Type: application/json을 사용한다.
- 회원 가입, 상품 주문, 데이터 변경 등에 사용된다.
- 서버 간 데이터를 전송하거나 앱 클라이언트, 웹 클라이언트 등에서 사용된다.

 

2.1 HTML Form을 통한 데이터 전송

종류 설명
POST 전송 - Content-Type: application/x-www-form-urlencoded를 사용한다.
- form의 내용을 key=value 혹은 쿼리 파라미터 형식을 이용해 메시지 바디를 통해서 전송한다.
- 전송 데이터를 uril encoding 처리한다.
GET 전송 - Content-Type: multipart/form-data를 사용한다.
- 파일 업로드 같은 바이너리 데이터 전송 시 사용한다.
- 다른 종류의 여러 파일과 폼의 내용을 함께 전송할 수 있다. 그래서 이름이 multipart이다.

 

참고

- 『모든 개발자를 위한 HTTP 웹 기본 지식』

'Network' 카테고리의 다른 글

HTTP Persistent Connection  (0) 2021.11.26
REST API 설계 원칙  (0) 2021.11.09
HTTP Message  (0) 2021.11.09
HTTP  (0) 2021.10.27
웹 브라우저에서 서버까지의 요청 흐름  (0) 2021.10.27