클라이언트에서 서버로 데이터 전송
쿼리 파라미터를 통한 데이터 전송
>> GET
>> 주로 정렬 필터(검색어)
메시지 바디를 통한 데이터 전송
>> POST, PUT, PATCH
>> 회원 가입, 상품 주문, 리소스 등록, 리소스 변경
정적 데이터 조회
이미지, 정적 텍스트 문서
조회는 GET 사용
쿼리 파라미터 없이 리소스 경로로 단순 조회
동적 데이터 조회
주로 검색, 게시판 목록에서 정렬 필터(검색어)
조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건
조회는 GET 사용
>> 쿼리 파라미터 사용해서 데이터 전달
HTML Form 데이터 전송
POST 전송 - 저장
GET 전송 - 저장
GET 전송 - 조회
multipartt/form-data
HTML Form submit시 POST 전송
>> 회원 가입, 상품 주문, 데이터 변경
Content-Type : application/x-www-form-unlencoded 사용
>> form의 내용을 메시지 바디를 통해 전송(key=value, 쿼리 파라미터 형식)
>> 전송 데이터를 url encoding 처리
HTML Form은 GET 전송도 가능
Content-Type : multipart/form-data
>> 파일 업로드 같은 바이너리 데이터 전송
>> 다른 종류의 여러 파일과 폼의 내용 함꼐 전송 가능
HTTP API 데이터 전송
서버 to 서버
>> 백엔드 시스템 통신
앱 클라이언트
>> 아이폰, 안드로이드
웹 클라이언트
>> HTML에서 Form 전송 대신 자바 스크립트를 통한 통신(AJAX)
>> React, VueJs 같은 웹 클라이언트와 API 통신
POST, PUT, PATCH : 메시지 바디를 통해 데이터 전송
GET : 조회, 쿼리 파라미터로 데이터 전달
Content-Type : application/json 주로 사용
HTTP API 설계 개념
문서(document)
>> 단일 개념(파일 하나, 객체 인스턴스, 데이터베이스 row)
컬렉션(collection)
>> 서버가 관리하는 리소스 디렉터리
>> 서버가 리소스의 URI를 생성하고 관리
>> POST 기반 등록
스토어(store)
>> 클라이언트가 관리하는 자원 저장소
>> 클라이언트가 리소스의 URI를 알고 관리
>> PUT 기반 등록
컨트롤러(controller), 컨트롤 URI
>> 문서, 컬렉션, 스토어로 해결하기 어려운 추가 프로세스 실행
>> 동사를 직접 사용
>> HTML Form 사용
출처 : 김영한, 모든 개발자를 위한 HTTPP 웹 기본 지식
'HTTP' 카테고리의 다른 글
HTTP / HTTP 헤더(일반) (0) | 2025.03.31 |
---|---|
HTTP / HTTP 상태 코드 (0) | 2025.03.31 |
HTTP / HTTP 메서드 (0) | 2025.03.27 |
HTTP / HTTP 기본 (0) | 2025.03.26 |
HTTP / URI와 웹 브라우저 요청 흐름 (0) | 2025.03.24 |