클라이언트에서 서버로 데이터 전송
데이터 전달 방식 : 크게 2가지
1. 쿼리파라미터를 통한 데이터 전송
GET
주로 정렬 필터(검색어)
2. 메시지 바디를 통한 데이터 전송
POST , PUT , PATCH
회원가입 , 상품주문 , 리소스 등록 , 리소스 변경
정적 데이터 조회
쿼리파라미터 미사용
이미지 , 정적 텍스트문서
조회는 get사용 , 정적데이터 -> 리소스 경로로 단순하게 조회 가능
동적 데이터 조회
주로 검색 , 게시판 목록에서 정렬 필터(검색어)
조회 조건을 줄여주는 필터 , 조회 결과를 정렬하는 정렬 조건에 주로 사용
조회는 GET사용
GET은 쿼리 파라미터 사용해서 데이터 전달
GET은 조회에만 사용!
HTML Form 데이터 전송
multipart/form-data
HTML Form submit시 POST 전송
ex) 회원가입 , 상품주문 , 데이터변경
Content-Type
HTML Form - > GET 전송도 가능(GET , POST 모두 가능)
Content-Type
파일업로드 같은 바이너리 데이터 전송시 사용
다른 조율의 여러 파일과 폼의 내용 함께 전송 가능(그래서 이름이 multipart)
HTTP API 데이터 전송
• 서버 to 서버
• 백엔드 시스템 통신
• 앱 클라이언트
• 아이폰 , 안드로이드
• 웹 클라이언트
• HTML에서 Form 전송 대신 자바 스크립트를 통한 통신에 사용(AJAX)
• ex) React, VueJs 같은 웹 클라이언트와 API통신
• POST, PUT, PATCH: 메시지 바디를 통해 데이터 전송
• GET: 조회 , 쿼리 파라미터로 데이터 전달
• Content-Type: application/json을 주로 사용 (사실상 표준)
• TEXT, XML, JSON 등등