1. API란 (Application Programming Interface)
"서버에 요청해서 데이터를 가져오는 방법"
서버와 고객간의 통신 규약이다.
(서로 다른 프로그램간 소통할 수 있게 해주는 통신 규약)
2. REST API란(Representational State Transfer)
<HTTP URI를 통해 자원을 명시하고, HTTP Method를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것>
URI 주소만으로도 무엇에 대한 요청인지 파악 가능하게 하라.
이를 위해 API제작시 아래 6개 원칙을 지켜라
Representational State Transfer
1) Uniform Interface
인터페이스는 일관성이 있어야한다
- 하나의 URL은 하나의 데이터를 가져온다(url 2개로 데이터 1개를 출력하게 하지 말라)
- 간결하고 예측가능해야함
- URL 네이밍 컨벤션을 지켜라
2) Client-server 역할 구분하기
고객들은 URL 하나만 알면 서버에 있는 자료를 갖다쓸 수 있다.
고객에게 서버역할을 맡기거나 고객에게 DB에 있는 자료를 직접 추출하도록 하지 마라
3) Stateless
요청은 각각 독립적이다.
요청1을 전제로 요청2를 보내주는 인과관계, 의존관계가 없어야한다.
4) Cacheable
요청을 통해 보내는 자료는 캐싱이 가능해야한다.
그리고 캐싱가능하다고 표시하거나 캐싱 기간을 설정해주어야 한다.
* 캐싱
방문한 웹의 빈번히 사용하는 이미지, 로고, css 따위를 하드에 저장하여 재방문시 별도 요청없이 클라이언트 하드에서 참조하도록 하는 행위
5) Layered System
요청처리하는곳, DB에 저장하는곳 등 여러 단계(레이어)를 거쳐서 요청을 처리할 수 있다.
6) Code on Demand
서버는 고객에게 실행가능한 코드를 전송할 수 있다.
URL 네이밍 컨벤션
- 가능한 명사로 작성한다
- 일관성 있도록 한다
- 띄어쓰기는 - 사용(not underbar_)
- 파일 확장자 쓰지않는다
- 하위 문서를 뜻할 땐 / 기호를 사용 (하위폴더)
'항해99' 카테고리의 다른 글
JWT (2) | 2021.11.07 |
---|---|
[항해99]Week 1_WIL (1) | 2021.11.07 |
DB의 종류 (2) | 2021.10.20 |
항해99 등록 (1) | 2021.10.20 |
개발 공부를 시작했다. (1) | 2021.10.03 |