API URI 설계
리소스와 행위 분리 중요
- 리소스 : 명사의 개념, 회원 조회/등록/수정 등을 할 때 '회원'
- 행위 : 동사의 개념, 회원 조회/등록/수정 등을 할 때 '조회/등록/수정'
URI는 리소스막 식별함 => 행위는 HTTP method로 해결
HTTP 메서드 종류
- GET : 리소스를 조회, 쿼리를 통해 서버에 데이터 전달, 권장하지는 X
- POST : 새 리소스를 등록하거나 요청 데이터를 처리, 메시지 바디를 통해 서버로 데이터 전달
- PUT : 리소스를 완전히 대체 (리소스가 없으면 생성, 즉 덮어버림), 클라이언트가 리소스 식별
- PATCH : 리소스 부분을 변경
- DELETE: 리소스 삭제
POST를 제외하고는 두번 이상 요청해도 괜찮음 (멱등)
= 서버에게 보냈는데 서버가 반응했는지 모를때 또 보내도 괜찮음
데이터 전달 방법
2가지 방법 존재
1. 쿼리 파라미터 : GET (주로 정렬, 필터, 검색)
2. 메시지 바디 : POST, PUT, PATCH (주로 회원가입, 주문, 등록, 변경 등)
상황
- 정적 데이터 조회 : 이미지, 텍스트 문서
- 동적 데이터 조회 : 검색, 정렬, 필터 등
- HTML Form : 회원가입, 상품 주문, 데이터 변경 / GET, POST만 지원
- HTTP API : 서버에서 서버로, 앱/웹 클라이언트 / PUT, POST, PATCH로 데이터 전송
HTTP API - 컬렉션 : POST 기반 등록, 서버가 리소스 URI 결정
HTTP API - 스토어 : PUT 기반 등록, 클라이언트가 리소스 URI 결정
HTML FORM 사용 : 순수 HTML + HTML form 사용, GET과 POST만 지원
'📝공부, 스크랩 > 프로덕트' 카테고리의 다른 글
쿠키 정의, 사용 특징 등 (0) | 2023.03.11 |
---|---|
Http 상태코드 (1,2,3,4,5xx) (0) | 2023.02.25 |
HTTP 개념, 특징 (0) | 2023.02.19 |
URI, 웹브라우저 요청 흐름 (0) | 2023.02.19 |
인터넷 네트워크 이해 - 통신, IP, TCP, UDP, PORT, DNS (0) | 2023.02.01 |