모든 개발자를 위한 HTTP 웹 기본 지식 #04 - HTTP 메서드 활용

·2022년 11월 26일
0
post-thumbnail

인프런 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식을 수강하고 정리한 글입니다.

클라이언트에서 서버로 데이터를 전송하는 방식에 대해 정리한다.

클라->서버 데이터 전송 방식

크게 두가지가 있는데,

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

클라->서버 데이터 전송 상황

  • 정적 데이터 조회
  • 동적 데이터 조회
  • HTML Form을 통한 데이터 전송
  • HTTP API를 통한 데이터 전송

정적 데이터 조회

  • 이미지, 정적 텍스트 문서 등
  • 쿼리 파라미터는 사용하지 않는다. 리소스 경로로 단순하게 조회한다.(GET)

동적 데이터 조회

  • 조회는 GET 사용, 쿼리 파라미터를 사용해서 데이터 전달
  • 조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용

HTML Form 데이터 전송

  • HTML Form 전송은 GET, POST만 지원한다.

  • Content-Type: application/x-www-form-urlencoded
    ㄴ POST 전송 : 쿼리파라미터와 유사한 형식으로, 인코딩 된 데티어를 Key, Value 스타일로 데이터를 만들어서 http body에 넣어서 전달

    ㄴ GET 전송 : 쿼리 파라미터에 인코딩된 URL 데이터가 들어감(ex. GET /member?username=kim&age=20)

    ㄴ multipart/form-data : 파일 업로드와 같은 바이너리 데이터 전송 시 사용 (여러 파일과 폼을 함께전송하는 개념)

HTTP API 데이터 전송

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

profile
삶을 스스로 통제하고 있다는 느낌을 받을 때 더 행복하고 성공한다.🍃

0개의 댓글