공부하는 안경딸기

5. HTTP 메소드 활용 본문

네트워크

5. HTTP 메소드 활용

안경딸기 2021. 8. 20. 15:18

 

더 정확한 내용은 아래 강의(유료)를 통해 들으시면 됩니다.

모든 개발자를 위한 HTTP 웹 기본 지식

클라이언트에서 서버로 데이터 전송

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

 

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

 

클라이언트에서 서버로 데이터를 전송하는 4가지의 상황

 

  1. 정적 데이터 조회
    • 이미지, 정적 텍스트 문서
  2. 동적 데이터 조회
    • 검색, 게시판 목록에서 정렬 필터(검색어)
  3. HTML Form을 통한 데이터 전송
    • 회원 가입, 상품 주문, 데이터 변경
  4. HTTP API를 통한 데이터 전송
    • 회원 가입, 상품 주문, 데이터 변경
    • 서버 to 서버, 앱 클라이언트, 웹 클라이언트(Ajax)

정적 데이터 조회

GET /static/a.jpg HTTP/1.1
Host: localhost:8080

 

이미지, 정적 텍스트 문서

조회는 GET 사용

쿼리 파라미터 미사용 + 리소스 경로로 단순하게 조회 가능

동적 데이터 조회

GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com

 

조회 조건을 줄여주는 필터, 조회 결과를 정렬하는 정렬 조건에 주로 사용

조회는 GET 사용

쿼리 파라미터 사용해서 데이터 전달

HTML Form 데이터 전송

HTML Form 제출 시 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만 지원

HTTP API 데이터 전송

POST /members HTTP/1.1
Content-Type: application/json

{
   "username":"Na"
   "age":20
}

 

POST, PUT, PATCH: 메시지 바디를 통해 데이터 전송

GET: 조회, 쿼리 파라미터로 데이터 전달

 

HTTP API 설계 예시

  1. HTTP API - 컬렉션
    • 대부분 이 방식을 사용
    • POST 기반 등록
    • 서버가 알아서 관리
    • 예 : 회원 관리 API 제공
  2. HTTP API - 스토어
    • PUT 기반 등록
    • 클라이언트가 관리하는 자원 저장소
    • 예 : 정적 컨텐츠 관리, 원격 파일 관리
  3. HTML Form 사용
    • 웹 페이지 회원 관리
    • GET, POST만 지원

컬렉션(Collection)

서버가 관리하는 리소스 디렉토리

서버가 리소스의 URI를 생성하고 관리

예: /members

'네트워크' 카테고리의 다른 글

5. HTTP 요청 데이터  (0) 2021.08.09
4. HTTP Method  (0) 2021.06.01
3. HTTP  (0) 2021.05.21
2. URI와 웹 브라우저 요청 흐름  (0) 2021.05.18
1. 인터넷 네트워크  (0) 2021.05.16
Comments