API(Application Programming Interface)란 무엇인가?
한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법이다. 예를 들어 식당메뉴판이라 생각하면 된다. 메뉴판을 보고 주문하는것처럼 식당과 손님이 음식을 주고받기 위한 방법
웹툰을 보내주는 프로그램을 만든다 해보자. 먼저 어떤 웹툰이 있는지 메뉴판을 만들어야한다. 이 메뉴판이 웹툰 서버와 손님이 웹툰을 주고받기 위한 방법인 웹툰서비스 API이다.
app.get('/detail/"id',function(req,res){
db.collection('웹툰').findOne({_id:parseInt(요청.params.id)},function(에러, 결과){console.log(결과);
res.render('detail.ejs',{data:결과});
})
여기서 방법이란 위와 같은 코드를 말한다. 미리 코드를 작성해두고 이 url로 get요청하면 이 코드를 실행하게끔 만든것이다. 실행하는 부분이 API이다.
실제 네이버가 만들어둔 웹툰 API 예시이다.
(GET 요청) comic.naver.com/webtoon/detail?titleld=641253
이 API를 쓰면 외모지상주의가 나온다
여기서 필요한조건
1. 요청방식: 데이터 보내는지, 얻는것인지
2. 어떤 자료를 요청할것인지
3. 파라메터: 자료 요청에 필요한 추가정보
우리가 흔히 사용하는 URL 입력창이 API 요청 코드를 짜는곳이다. 하지만 일반인들은 잘 사용하지 않고 화면의 이미지를 누르면 자동으로 API 요청하게 설계를 해놨다.
public API: 누구나 사용가능한 공개 API
private API: 사내에서 몰래쓰는 API
partner API: 미리 정해둔 사람만 쓰는 API
모든 프로그램은 API를 가질 수 있다
windows: 윈도우 운영체제 기능들 사용가능
Database 관리 프로그램 API: DB 입출력 기능들 사용가능
API 서비스를 잘 만들면 네이버 클라우드의 다양한 서비스처럼 수익성 모델로도 활용할 수 있다.
'CS(Computer Science) > 네트워크' 카테고리의 다른 글
Rest API란 무엇인가? (0) | 2023.05.20 |
---|---|
HTTP 통신 request, response (1) | 2023.05.20 |
[네트워크] TCP 세그먼트 구조와 통신원리 (0) | 2023.02.10 |
[네트워크] TCP Pipelining 방식 : Go-Back-N & selective repeat (0) | 2023.02.09 |
[네트워크] 애플리케이션 계층에서 신뢰성 있는 통신 원리 (0) | 2023.01.29 |
댓글