250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Archives
Today
Total
관리 메뉴

데이터 놀이터

Section 4 - Sprint 2. 데이터 수집과 NoSQL - 3. API 본문

코드스테이츠 AIB 17

Section 4 - Sprint 2. 데이터 수집과 NoSQL - 3. API

jjjk84 2023. 4. 17. 22:54
728x90

오늘의 키워드

 

  • API
  • HTTP API
  • REST API

 

개념 정리

 

1. API (Application Programming Interface)

 

프로그램 간 소통할 수 있는 인터페이스를 말한다.

 

  1. 마치 가게 손님이 메뉴판을 보고 음식을 고르듯이 클라이언트는 API를 통해 서버에 어떤 요청을 보낼지 고민한다.
  2. 클라이언트는 API Server를 통해서 Service Server에 요청을 전달한다.
  3. Service Server에서 요청받은 서비스를 구동한다.
  4. 이후 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 살펴보기
728x90