데이터 놀이터
Section 4 - Sprint 2. 데이터 수집과 NoSQL - 3. API 본문
오늘의 키워드
- API
- HTTP API
- REST API
개념 정리
1. API (Application Programming Interface)
프로그램 간 소통할 수 있는 인터페이스를 말한다.
- 마치 가게 손님이 메뉴판을 보고 음식을 고르듯이 클라이언트는 API를 통해 서버에 어떤 요청을 보낼지 고민한다.
- 클라이언트는 API Server를 통해서 Service Server에 요청을 전달한다.
- Service Server에서 요청받은 서비스를 구동한다.
- 이후 API 응답이 오게 되는데 대다수의 경우 json(파이썬의 dictionary 형태와 같이 {key: value} 형식)으로 오게 됨
2. HTTP API
HTTP는 HyperText Transfer Protocol의 약자로 컴퓨터들 간의 통신 규약 중 하나이다. HTTP API는 앞서 살펴본 API의 개념을 네트워크 개념으로 확장시킨 것이라고 생각하면 된다.
(1) HTTP Request(요청)
클라이언트가 서버에게 리소스 요청을 보내는 것을 말하며 데이터를 다루기 위해 사용하는 요청 메서드(CRUD)는 다음과 같다.
- GET: 특정 리소스 요청
- POST: 서버에 정보 저장
- PUT(전부 변경)/PATCH(일부 변경)
- DELETE
나중에 웹 서비스를 만들기 위해 Flask를 사용할 때 유용하게 쓰인다.
(2) HTTP Response(응답)
- 100 번대 : 정보 응답
- 200 번대 : 성공 응답
- 300 번대 : 리다이렉션 메시지
- 400 번대 : 클라이언트 에러 응답
- 500 번대 : 서버 에러 응답
3. REST API (REpresentational State of Trasfer)
REST는 소프트웨어 아키택처에 대한 가이드라인과 같은 것으로 필수적으로 지켜야할 것은 아니다. 하지만 RESTful한 API는 말 그대로 웹 서비스를 대표하는 것으로 한 눈에 그 기능을 파악할 수 있다는 점에서 강력하게 권고되고 있다.
HTTP GET http://www.appdomain.com/users/123/address
예를 들어 이 REST API는 123이라는 user의 address에 관한 정보를 가져올 것이라고 예상할 수 있다.
더 알아봐야할 것
HTTP request methods - HTTP | MDN
HTTP defines a set of request methods to indicate the desired action to be performed for a given resource. Although they can also be nouns, these request methods are sometimes referred to as HTTP verbs. Each of them implements a different semantic, but som
developer.mozilla.org
- reference 살펴보기
'코드스테이츠 AIB 17' 카테고리의 다른 글
Section 4 - Sprint 3. API 개발과 대시보드 (0) | 2023.04.18 |
---|---|
Section 4 - Sprint 2. 데이터 수집과 NoSQL - 4. NoSQL (0) | 2023.04.17 |
Section 4 - Sprint 2. 데이터 수집과 NoSQL - 2. Web scraping - (2) DOM, Web scraping (0) | 2023.04.01 |
Section 4 - Sprint 2. 데이터 수집과 NoSQL - 2. Web scraping - (1) HTML, CSS (0) | 2023.04.01 |
Section 4 - Sprint 2. 데이터 수집과 NoSQL - 1. Python 활용 (0) | 2023.03.28 |