레스토랑의 주방 예시를 통한 직관적인 이해⭐⭐ ⭐
📌 서버 (Server)
서버는 요청(클라이언트의 요구)를 받아, 필요한 작업을 처리하고, 결과(응답)을 돌려주는 역할을 하는 시스템이다.
'서버를 띄운다' : 서버가 동작할 준비를 미치고, 클라이언트의 요청을 받을 수 있는 상태가 되었다.
📌 API (Application Programming Interface)
API는 서로 다른 소프트웨어 시스템과 통신하기 위해 따라야할 규칙이다.
쉽게 말하면, 다른 시스템의 기능을 쉽게 가져다 쓰게 만들어주는 도구이자 약속(규칙, 프로토콜)이다.
즉 서버와 클라이언트가 서로 정보를 어떻게 주고 받을지 미리 정해 놓은 것이라고 생각하면 된다.
'요구하는 조건에 맞게 요청해야 답(응답)을 얻을 수 있어'라는 약속이 API인 것이다.
정리하면 데이터를 주고 받기 위해 미리 정의된 약속, 대화의 규칙이 API다.
📌 예시

서버는 레스토랑 주방과 같다.
- 주방은 손님(클라이언트)이 요청한 음식을 만드는 '실제 작업을 처리하는 곳'이다.
- 주방 내부에서 어떤 재료를 사용하고, 요리를 어떻게 만드는지 손님이 알 필요가 없다.
🧑🏻🍳 주방(서버)은 요리(기능)을 실행하는 주체
API는 레스토랑의 메뉴판과 같다.
- 메뉴판은 주방에서 만들 수 있는 음식(기능)의 종류를 손님(클라이언트)에게 알려주는 역할을 한다.
- 손님은 메뉴판에 적힌 대로 주문할 뿐, 주방의 내부 조리 과정을 알지 못해도 원하는 음식을 받을 수 있다.
🛎️ 메뉴판(API)는 그 음식(기능)을 주문(사용)할 수 있도록 설명서 or 중간다리(두 시스템 간 통신을 도와주는 다리) 역할
클라이언트는 레스토랑에 방문한 손님이다.
🧑🏻 손님(클라이언트)는 메뉴판(API)에 적힌대로만 요청해야 한다.
ex) 요리사님/주세요/스파게티/토마토와 같은 형식을 지켜야 서버가 이해한다.
✅ 동작
0. 레스토랑 문을 연다.(서버를 띄운다)
1. 손님(클라이언트)이 메뉴판(API)을 보고 '요리사님/주세요/스파게티/토마토'로 음식을 주문한다.(ex. 데이터 요청)
2. 주방(서버)은 요청대로 토마토 스파게티를 조리한다. (ex.필요 작업 수행)
3. 만들어진 스파게티을 손님 자리에 가져다 준다. (ex.응답)
📌 이미지 출처
📌 참고
https://brunch.co.kr/@businessinsight/65#comment
서버가 API를 뭐..? 개발자의 외계어 쉽게 이해하기
비전공자를 위한 이해할 수 있는 IT 지식 : 서버, JSON, API | 확실히,개발자는 뭔가 다른 세상 사람들 같습니다. 특이한 개그코드며.. 일관적인 복장, 알 수 없는 고양이 사랑에.. 별거 아닌 이유로
brunch.co.kr
순도 100% 문과생과 함께 API 개념 이해해보기
API, REST API, 오픈 API 개념 #코드스테이츠 PMB 8기 | 당신은 지금 A 스타트업의 인턴 기획자다. 그리고 뭔가 프로덕트에 문제가 생겼다. 팀장님이 이거 왜 이러는지 알아오라셔서 간 개발팀, 남주혁
brunch.co.kr
https://onlydev.tistory.com/164
왜 서버를 '띄운다'라고 표현하는 걸까?
왜 다들 서버를 '띄운다'라고 표현하는 걸까? 정말 뜬금없이 궁금해졌다. 사실 서버는 실행하는 것이 아닌가? '띄운다'라는 표현이 잘못됐다기 보다는 개발자라면 이렇게 표현하게 된 재밌는 이
onlydev.tistory.com
서버를 띄운다는 말의 진짜 의미는 무엇인가?
첫 번째 질문, 서버를 띄운다는 말의 진짜 의미는 무엇인가? 실무를 하다 보면 누구나 습관처럼 서버에 대해서 이렇게 말한다. 서버 띄울게요. 서버 떠있나요? 서버 안 떠있습니다. 서버는 왜 띄
jayviii.tistory.com
'개발이론' 카테고리의 다른 글
[개념] 동기, 비동기 (0) | 2024.12.19 |
---|