데이터 전송 방식
- 쿼리 파라미터를 통한 데이터 전송 - GET
- 메시지 바디를 통한 데이터 전송 - POST, PUT, PATCH
정적 데이터 조회
- 이미지, 정적 텍스트 문서같은 정적 데이터를 요청하는 경우
- 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회하기 때문에 GET 사용
동적 데이터 조회
- 주로 조회 조건을 줄여주는 검색 필터, 조회 결과를 정렬하는 정렬 조건이 있는 경우
- GET 방식으로 쿼리 파라미터를 이용해 데이터를 전달한다.
- 서버는 쿼리 파라미터를 기반으로 정렬 또는 필터링해서 결과를 동적으로 생성한다.
HTML Form을 통한 데이터 전송
- 화원가입, 상품 주문, 데이터 변경 등의 경우
- 주로 POST 방식을 이용하며, 웹 브라우저가 자동으로 HTTP 요청 메시지를 만들어서 서버에 전송한다.
Content-Type
application/x-222-form-urlencoded | form의 내용을 메시지 바디를 통해서 전송하며, 전송 데이터를 url encoding 처리한다. |
multipart/form-data | 파일 업로드 같은 바이너리 데이터 전송 시에 사용하며, 다른 종류의 여러 파일과 form의 내용을 함께 전송할 수 있다. |
HTML Form + 컨트롤 URI
- HTML Form은 GET과 POST만 지원하기 때문에 GET, POST 만으로 해결하기 애매한 경우 사용한다.
- 컨트롤 URI는 이러한 제약을 해결하기 위해 동사로 된 리소스 경로를 사용한다.
- /create, /edit, /delete 등
- 서버에서는 리소스마다 요청 데이터를 어떻게 처리할지 따로 구현해야 한다.
HTTP API를 통한 데이터 전송
- 서버와 서버 간의 백엔드 시스템 통신이나, 웹 클라이언트에서 자바스크립트를 통한 HTTP API 호출 등 다양한 시스템에서 연동 가능하다.
- HTML이 아니라 데이터를 전달하며 주로 JSON 형태로 통신한다.
- 데이터만 주고 받으며, UI 화면이 필요하면 클라이언트가 별도로 처리한다.
'Web' 카테고리의 다른 글
HTTP 기초 (0) | 2022.03.05 |
---|---|
동시 요청과 멀티 쓰레드 (0) | 2022.03.05 |
웹 서버와 WAS (0) | 2022.03.05 |
캐시와 조건부 요청 (0) | 2022.03.05 |
HTTP 헤더 정보 (0) | 2022.03.05 |