본문 바로가기

강의 내용 정리/HTTP 웹 기본 지식

Section 5. HTTP 메서드 활용

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

2) HTTP API 설계 예시

 

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

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

 

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

 

# 클라이언트에서 서버로 데이터 전송 4가지 상황

 

1) 정적 데이터 조회

 

- 쿼리 파라미터 없이 가능

- GET메서드로 리소스 PATH만 정해주면 가능

 

2) 동적 데이터 조회

 

- 주로 검색

- GET은 쿼리 파라미터 사용하여 데이터 전달

- 필터 = 검색어 ( 조회 조건을 줄여줌 )

3) HTML Form을 통한 데이터 전송

   1. POST전송

POST - 저장

   2. GET 전송

GET- 저장

- GET은 리소스 변경이 발생하는 곳에 사용하면 안됨 ( save에 GET메서드 사용불가 )

 

/members : 멤버 리스트를 조회 하는 기능이라 할 경우 GET사용 가능

 

- GET, POST만 지원

- 웹 브라우저가 요청 HTTP 메시지 생성

- GET 메서드의 경우 GET은 메시지 바디 안쓰므로 웹 브라우저가 쿼리 파라미터에 넣어버림

- POST메서드의 경우 메시지 바디에 

 

   3. multipart/form-data

 

- enctype을 multipart/form-data : 주로 파일(바이너리 데이터) 전송할 때

- 웹 브라우저가 자동으로 boundary 나눔

- 다른 종류의 여러 파일들과 함께 전송 가능

 

 

4) HTML API을 통한 데이터 전송

 

 

 

 

-----------------------------------------------------------------------------------------------------------------------------------------

 

2) HTTP API 설계 예시

 

 

# HTTP API 설계의 3가지 경우

 

 

   1) HTTP API - 컬렉션

 

 

   - /members 같은 것을 컬렉션 이라 한다.

   - PATCH는 수정 - 가장 좋음 / PUT은 확실히 덮을 수 있을 때만 (ex. 게시글 수정)

   - 클라이언트는 등록될 리소스의 URI를 모른다. (회원데이터만 서버에 던지면 서버가 알아서 저장 후 그 회원을 식별 할       수 있는 아이디(URI) 새로 만든다.

 

 

2) HTTP API - 스토어

 

   - 파일 등록의 경우 PUT이 너무 잘맞는다.

   - /files -> POST의 의미를 임의로 정할 수 있다. ex. 파일 대량 등록

 

   - 클라이언트가 리소스 URI 알고 있어야한다.

 

@대부분 POST기반 (컬렉션)을 쓴다.

 

 

3) HTTP FORM 사용

 

   - 회원등록폼 : /members/new ->GET

   - 회원등록 : /members/new -> POST              두 경우와 같이 URI를 맞추면 좋다.

   - 회원 삭제 : DELETE메서드를 사용하지 못하므로 control-URI (=controler) 사용하였다. (실무에서 자주 씀)

 

HTML FORM 은 로그인 같이 진짜 폼을 말함. 이 때 넣어진 데이터를 

1. GET으로 보낼 경우 쿼리파라미터로,

2. POST의 경우 바디에 넣어서 보낸다.

이렇식으로 바디에 쿼리 형태로 넣어야함.

 

 

 

 

 

# 정리

 

   - 문서는 하나로 끝나는 파일

   - 컬렉션 : 서버가 URI 생성, 관리

   - 스토어 : 클라이언트가 URI 관리

   - 컨트롤러 : control-URI 사용   ( 리소스로 최대한 설계 -> 대부분 안되므로 컨트롤러 사용 )

 

 

 

 

 

 

출처 : 인프런 김영한님의 강의를 수강 후 정리한 내용입니다.

 

 

 

 

꾸준히 다시보자.

 

1. 220630

2. 220714

3. 220819

Recent Posts
Popular Posts
Recent Comments