카테고리 없음

HTTP (6) - HTTP 메서드 활용

now0204 2023. 9. 13. 14:14

 

1. HTTP 메서드 활용

 

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

- HTTP API 설계 예시

- 클라이언트에서 서버로 데이터를 전송하는 방식은 크게 2가지 이다.

   > GET (쿼리파라미터) VS POST,PUT,PATCH (바디를 통한 전송) 

 

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

 

- 정적 데이터조회 : 이미지, 정적 텍스트 

- 동적 데이터 : 주로 검색, 게시판 목록 정렬 필터

- HTML Form을 통한 데이터 전송 (회원가입,상품주문,데이터변경)

- HTTP API를 통한 데이터 전송 (Form과 동일함 주로 서버 to 서버에서 사용)

 

 

2.1 정적 데이터 조회 (쿼리 파라미터 미사용)

 

 - 이미지,정적 텍스트, GET을 사용

- 정적 데이터는 일반적으로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능

 

2.2 동적 데이터 조회 (쿼리 파라미터 사용)

 

 - 주로 검색, 게시판 목록 정렬 필터 

-  GET사용 쿼리 파라미터로 데이터 전달

 

2.3 HTML Form 데이터 전송

출처: HTTP(인프런) 김영한
출처: HTTP (인프런) 김영한

 

- HTML Form을 통해 POST와 GET 모두 사용가능 (단 GET은 조회용도로 사용하자)

- HTML POST 전송: 회원가입,상품주문,데이터변경

- Content-Type : application/x-www-from-urlencoded사용

                           - form에 내용을 메시지 바디를 통해 전송 (key=value방식)

                           - 전송데이터를 url encoding처리 

- Content-Type : multipart/form-data

                           - 파일 업로드와 같은 바이너리 데이터 전송시 사용

                           - 다른 종류의 여러 파일과 폼의 내용을 함께 전송 가능 (메시지도 전달 가능하다는 뜻)

- HTML Form전송은 GET과 POST만 지원한다.

 

2.4 HTTP API 데이터 전송 

 

서버 to 서버 : 백엔드 시스템 통신

앱 클라이언트 : 아이폰,안드로이드

웹 클라이언트 : - HTML에서 From전송 대신 자바 스크립트를 통한 AJAX등에서 사용 

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

Content-Type: application/json을 주로 사용한다.

TEXT,XML,JSON등을 주고받음

 

   3. HTTP API 설계 예시

 

HTTP API - 컬렉션 

 > POST기반 등록 

 > 회원관리 API제공

 

HTTP API - 스토어

 > PUT기반 등록

 > 정적 컨텐츠관리, 원격 파일관리

 

HTML FORM 사용

 >웹 페이지 회원관리

 > GET과POST만 지원

 

3.1 회원관리 시스템

 

API설계 - POST기반 등록

출처: HTTP(인프런) 김영한

- POST 신규 자원 등록 특징

  > 클라이언트는 등록될 리소스의 URI모른다.

 > 서버가 새로 등록된 리소스 URI 생성해준다.

 > 컬렉션 : - 서버가 관리하는 리소스 디렉토리 

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

                  - 여기서 컬렉션은 /members

 

3.2 파일 관리 시스템

 

PUT - 신규 자원 등록 

 

-

출처: HTTP(인프런) 김영한

PUT 신규 자원 등록 특징

> 클라이언트가 리소스 URI를 알아야함

> 클라이언트가 직접 리소스의 URI를 지정함

> 스토어 : 클라이언트가 관리하는 리소스 저장소 

                 클라이언트가 리소스의 URI를 알고 관리 

                  여기서 스토어는 /files

 

3.3 HTML FORM 사용

 

- HTML FORM은 GET,POST만 지원

 

출처: HTTP(인프런) 김영한

- 컨트롤 URI

   GET과 POST만 지원하여 제약이 있다.

   이런 제약을 해결하기 위해 동사로 된 리소스 경로를 사용한다.

    POST에 /new/edit 등 행위가 컨트롤 URI이다.

 

 

* URI설계 개념

출처: HTTP(인프런) 김영한