Chapter 5 HTTP 메서드 활용
이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다.
1. 클라이언트에서 서버로 데이터 전송
- 쿼리 파라미터를 통한 데이터 전송
GET
, 주로 정렬 필터(검색어)
- 메시지 바디를 통한 데이터 전송
POST
,PUT
,PATCH
- 회원 가입, 상품 주문, 리소스 등록, 리소스 변경
2. 조회 방법
2.1 정적 데이터 조회
- 이미지, 정적 텍스트 문서 조회
- 조회
GET
사용 - 정적 데이터는 일반저긍로 쿼리 파라미터 없이 리소스 경로로 단순하게 조회 가능
2.2 동적 데이터 조회
- 쿼리 파라미터(스트링) 사용
- 조회 조건을 줄여주는 필터(검색어), 결과를 정렬하는 정렬 조건에 사용
- 조회는
GET
사용 → 쿼리 파라미터를 사용하여 데이터 전달
2.3 HTML Form 데이터 전송
POST
: 메세지 바디에 Form 테그를 넣고 서버에 전달- 회원 가입, 상품 주문, 데이 터변경
Content-Type: applicatoin/x-www-form-urlencoded
사용
GET
: 쿼리 파라미터(URL 경로)에 Form 테그를 넣고 서버에 전달 → 조회에만 사용해야 함.Content-Type
enctype="multipart/form-data"
- 파일 업로드와 같은 바이너리 데이터 전송에 사용
- 다른 종류의 여러 파일과 폼의 내용 함께 전송 가능
2.4 HTTP API 데이터 전송
- 서버 to 서버
- 백앤드 시스템 통신
- 앱 클라이언트
- 아이폰, 안드로이드
- 웹 클라이언트
- AJAX
3. HTTP API 설계
- 등록 방식
POST
- 클라이언트는 등록될 리소스의 URI를 모르지만 서버가 알아서 새롭게 등록해준다.
- 컬렉션 방식이라고 함 →
/members
같은 경우를 컬렉션이라고 한다. - 대부분 이렇게 사용
PUT
- 클라이언트가 등록될 리소스의 URI를 알고 있음. (
/files/{filename}
) - 클라이언트가 직접 리소스의 URI를 등록
- 스토어라고 함 →
/files
- 클라이언트가 관리하는 리소스 저장소
- 클라이언트가 등록될 리소스의 URI를 알고 있음. (
4. HTML FORM 사용
GET
,POST
만 지원- 제약사항이 있으므로 컨트롤 URI를 사용해서 해결 함.
- 컨트롤 URI : 동사로 된 리소스 경로(
/new
,/edit
,/delete
)- HTTP 메서드로 해결하기 애매한 경우 사용
- 컨트롤 URI : 동사로 된 리소스 경로(
'CS > [NETWORK]' 카테고리의 다른 글
Chapter 7 HTTP 헤더1 - 일반헤더 (0) | 2021.11.23 |
---|---|
Chapter 6 HTTP 상태 코드 (0) | 2021.11.18 |
Chapter 4 HTTP 메서드 (0) | 2021.11.11 |
Chapter 3 HTTP 기본 (0) | 2021.11.09 |
Chapter 2 URI와 웹 브라우저 요청 흐름 (0) | 2021.11.05 |