초보 개발자의 성장기

genieus (2) - API가 뭐야? 본문

기본 IT 지식

genieus (2) - API가 뭐야?

개발자 김케빈 2020. 12. 16. 00:41

오늘은 최근에 가장 많이 언급되는 단어 중 하나인

API에 대해 알아보려고 합니다.

어려운 내용이 아니니까 부담 없이 봐주세요!

 

API : 클라이언트, 서버와 같은 서로 다른 프로그램에서 요청과 응답을 주고 받을 수 있게 만든 체계

출처 : http://blog.wishket.com/api%EB%9E%80-%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85-%EA%B7%B8%EB%A6%B0%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8/

먼저 식당을 생각해보겠습니다. 

음식 주문을 하는 손님과 음식을 만드는 요리사가 있습니다.

손님인 우리는 요리사에게 바로 주문을 하나요??!

아닙니다! 손님인 저희는 홀에서 서빙을 하시는 점원에게 주문을 합니다.

점원은 주문을 받는 메뉴를 요리사에게 전달을 해줍니다!!

다시 API로 돌아가보면

손님은 클라이언트, 요리사는 서버, 점원은 API 입니다.

클라이언트가 요청을 보내면 API가 요청을 받아서 서버에 전달하고 서버는 요청에 응답을 해줍니다.


API를 좀 더 클라이언트와 서버 관점에서 보겠습니다.


클라이언트 관점

클라이언트 SW는 서버에 요청을 보냅니다.

예를 들어, '티스토리에 사진을 올려' 라는 요청이 온다고 하면 이 요청을 크게 4가지로 나눌 수 있습니다.

우리는 이 4가지 요소를 CRUD라고 말합니다.

출처 : https://juyeop.tistory.com/24

우리는 API를 보게 되면 항상 CRUD를 앞에 두고 생각해야 합니다.

어떠한 요청이 들어왔는지 정확한 의도를 파악할 수 있어야 합니다.

CRUD 요청은 각각 다른 주소를 가집니다. 하지만 주소가 복잡하고 양이 많아져 문제가 발생합니다.

우리는 이러한 문제를 해결하기 위해 REST API를 사용합니다.

REST API는 좀 더 체계적으로 API를 관리하는 것을 의미합니다.

출처 : https://www.edureka.co/blog/what-is-rest-api/

우리는 REST API를 통해 CRUD를 하나의 주소로 관리할 수 있고

요청에 따라 맞는 스티커만 붙여서 전달하면 됩니다! 


서버 관점

서버는 요청을 받으며 2가지의 응답을 보낼 수 있습니다.

긍정 or 부정

긍정적인 표현은 Good, Excellent, Ok, Success 등 다양하게 있습니다.

마찬가지로 서버도 다양한 형태로 긍정적인 응답을 줄 수 있으며

보통 200번대 숫자로 응답이 오면 긍정으로 볼 수 있습니다.

긍정이 있으면 부정이 있겠죠?

안타깝게도 언어를 보면 긍정보다 부정이 나타내는 단어가 훨씬 많습니다.

서버도 마찬가지로 부정을 전달하는 응답이 훨씬 많습니다.

서버는 400번대, 500번대 숫자로 부정을 응답합니다.

 


API는 소프트웨어를 전달할 때도 사용됩니다.

API의 뜻을 몰라도 네이버 지도 API, 구글 지도 API, 카카오톡 API 라는 단어를 들어본 경험이 있을겁니다.

즉 우리는 위와 같은 API를 만든 회사에서 정의한 방법만 잘 따르면

즉 서버에 요청만 맞게 한다면

손 쉽게 지도도 구현할 수 있고 카카오톡 정보도 얻을 수 있습니다.


이렇게 API에 대해서 알아봤는데요!

생각보다 쉬운 내용이지 않으셨나요? 

처음에는 저도 API를 경험해보지 않았을 때 정말 어렵게 생각했는데

이렇게 공부를 하다보니까 요청을 주고 받는 과정을 누구나 알 수 있게 정의한 것이었습니다. 

 

'기본 IT 지식' 카테고리의 다른 글

genieus (1) 인터넷이 뭐야?  (0) 2020.11.30
Comments