Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Proxy
- 스프링 핵심 기능
- transaction
- Spring Boot
- SpringBoot
- 스프링 핵심 원리
- Greedy
- AOP
- java
- springdatajpa
- 인프런
- 김영한
- db
- Servlet
- 그리디
- 백준
- jpa
- JDBC
- spring
- kotlin
- 스프링
- pointcut
- Exception
- JPQL
- http
- 자바
- Thymeleaf
- 알고리즘
- Android
- QueryDSL
Archives
- Today
- Total
개발자되기 프로젝트
클라이언트에서 서버로 데이터 전송 본문
1. 클라이언트에서 서버로 데이터 전달 방식
- Query Parameter를 통한 데이터 전송
- GET
- 정렬 필터(검색어) - 메시지 바디를 통한 데이터 전송
- POST, PUT, PATCH
- 회원 가입, 상품 주문, 리소스 등록 및 변경
2. 서버로 데이터 전송하는 4 가지 상황
- 정적 데이터 조회
- 이미지, 정적 텍스트 문서 - 동적 데이터 조회
- 검색, 게시판 목록에서 정렬 필터(검색어) - HTML Form을 통한 데이터 전송
- 회원 가입, 상품 주문, 데이터 변경 - HTTP API를 통한 데이터 전송
- 회원 가입, 상품 주문, 데이터 변경
- 서버 to 서버, 앱 클라이언트, 웹 클라이언트(Ajax)
3. 정적 데이터 조회
- 쿼리 파라미터 미사용
- 이미지 정적 텍스트 문서
- 일반적으로 GET사용
- 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능.
4. 동적 데이터 조회
- 쿼리 파라미터 사용
- 클라이언트에서 쿼리로 추가 데이터 전달
- 서버는 쿼리 파라미터 기반으로 정렬 필터해서 결과를 동적으로 생성
- 주로 검색, 게시판 목록에서 정렬 or 필터
- 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용
- GET 사용
- GET은 쿼리 파라미터로 데이터 전달
5. HTML Form 데이터 전송
- HTML Form submit시 POST 전송
- 회원 가입, 주문, 데이터 변경 - Content-Type: application/x-www-form-urlencoded 사용
- form의 내용을 메시지 바디를 통해 전송(key=value, 쿼리 파라미터 형식)
- 전송 데이터를 url encoding 처리 - HTML Form은 GET전송도 가능
- Content-Type: multipart/form-data
- 파일 업로드 같은 바이너리 데이터 전송시 사용
- 다른 종류의 여러 파일과 폼의 내용과 함께 전송 가능 - HTML Form 전송은 GET, POST만 지원함.
6. HTTP API 데이터 전송
- 서버 to 서버
- 백엔드 시스템 통신 - 앱 클라이언트
- 웹 클라이언트
- HTML에서 Form 전송 대신 자바 스크립트를 통한 통신에 사용(ajax) - POST, PUT, PATCH: 메시지 바디를 통해 데이터 전송
- GET: 조회. 쿼리 파라미터로 데이터 전달
- Content-Type: application/json 주로 사용(사실상 표준임 ㅋㅋㅋㅋ)
'인프런 > [인프런]모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP 상태 코드 (0) | 2021.08.03 |
---|---|
HTTP API 설계 예시 (0) | 2021.08.02 |
HTTP 메서드 속성 (0) | 2021.08.02 |
HTTP 메서드 - GET, POST, PUT, PATCH, DELETE (0) | 2021.08.01 |
HTTP API를 만들어 볼까..? (0) | 2021.08.01 |
Comments