클라이언트 -> 서버 데이터 전송

gotcha!!·2023년 8월 25일
0

HTTP

목록 보기
13/29

데이터 전달 방식은 크게 2가지가 있다.

  • 쿼리 파라미터를 통한 데이터 전송
    GET
    주로 정렬 필터(검색어)
  • 메시지 바디를 통한 데이터 전송
    POST, PUT, PATCH
    주로 회원 가입, 상품 주문, 리소스 등록, 리소스 변경에 사용

정적 데이터 조회

정적 데이터 조회는 쿼리 파라미터 없이 리소스 경로로 단순하게 조회가 가능하다.
ex)이미지, 정적 텍스트 문서
주로 GET 방식을 사용한다.

동적 데이터 조회

주로 검색, 게시판 목록에서 정렬 필터(검색)를 할 때 사용한다.
GET 방식을 사용하고 GET은 쿼리 파라미터 사용해서 데이터를 전달한다.

HTML Form 데이터 전송

  • HTML Form submit시에는 POST 방식을 사용한다.
  • Content-Type: application/x-www-form-urlencoded 사용
    form의 내용을 HTTP 메시지 바디 안에 넣고 전송(k:v, 쿼리 파라미터 형식)
    전송 데이터를 url encoding 처리 ex) abc김 ->abc%EA%B9%80
  • HTML Form은 GET 전송도 가능하다
  • Content-Type:multipart/form-data
    파일 업로드 같은 바이너리 데이터 전송시 사용한다.
    다른 종류의 여러 파일과 폼의 내용도 함께 전송 가능하다.

* 참고 : HTML Form은 GET,POST만 지원한다.
* 참고 : 바이너리 데이터는 데이터의 저장과 처리를 목적으로 0과 1의 이진 형식으로 인코딩된 파일

HTML API 데이터 전송(HTML Form을 쓰지않는 대부분의 모든 상황)

• 서버to서버
백엔드 시스템 통신
• 앱 클라이언트
아이폰, 안드로이드
• 웹 클라이언트
HTML에서 Form 전송 대신 자바 스크립트를 통한 통신에 사용(AJAX) • 예) React, VueJs 같은 웹 클라이언트와 API 통신
POST, PUT, PATCH: 메시지 바디를 통해 데이터 전송
• GET: 조회, 쿼리 파라미터로 데이터 전달
• Content-Type: application/json을 주로 사용 (사실상 표준)
TEXT, XML, JSON 등등

주로 Content-Type은 XML보단 JSON을 많이 사용한다.(가볍고 간단함)

profile
ha lee :)

0개의 댓글