반응형
💡 “앱이랑 서버는 어떻게 대화할까?”
우리가 앱에서 버튼을 누르면
서버가 정보를 주고, 화면이 바뀌고, 결과가 나오죠?
그런데 도대체 앱이랑 서버는 무슨 방식으로 대화하는 걸까요?
이걸 가능하게 해주는 게 바로 API입니다! 😊
🔍 API란?
API (Application Programming Interface)는
“서버와 클라이언트가 대화할 수 있게 해주는 통신 약속”이에요.
📦 쉽게 말해,
- 클라이언트: “나 이 데이터 좀 줘”
- 서버: “여기 있어~”
이런 대화가 오가도록 규칙을 정해놓은 인터페이스입니다!
🧾 예시로 알아보자!
👩💻 앱에서 사용자 목록 요청
→ 서버에 "GET /users" 요청 (API 호출)
→ 서버가 사용자 목록 데이터를 JSON으로 전달
📱 사용자는 결과만 보지만,
앱과 서버 사이에서는 API를 통한 대화가 계속 이뤄지고 있어요!
🔁 REST API란?
REST (Representational State Transfer)는
API를 설계할 때 가장 많이 쓰는 방식이에요.
📌 특징:
- 자원(Resource) 중심 URL 사용
- HTTP 메서드(GET, POST, PUT, DELETE)로 동작 정의
📦 예시:
- GET /products → 상품 목록 가져오기
- POST /login → 로그인 요청
- DELETE /user/1 → 사용자 삭제
💡 규칙이 명확해서 클라이언트와 서버의 협업에 최적화!
🧩 GraphQL이란?
GraphQL은 페이스북이 만든 API 설계 방식이에요.
REST보다 유연하게 데이터를 요청할 수 있어요!
📌 특징:
- 필요한 데이터만 골라서 요청
- 한 번의 요청으로 여러 자원 조회 가능
📦 예시:
{
user(id: 1) {
name
posts {
title
}
}
}
REST가 메뉴판대로 주문한다면,
GraphQL은 “커스터마이징 주문”이 가능!
🆚 REST API vs GraphQL 비교
항목 | REST API | GraphQL |
구조 | 고정된 URL & 메서드 | 하나의 엔드포인트 사용 |
데이터 | 정해진 형식으로 제공 | 필요한 데이터만 요청 가능 |
요청 횟수 | 여러 번 분리 요청 | 한 번에 요청 가능 |
학습 난이도 | 쉬움 | 상대적으로 어려움 |
도입 사례 | 거의 모든 웹 서비스 | Facebook, GitHub, Shopify 등 대규모 서비스 |
🤔 실무에선 어떤 걸 써야 할까?
- 대부분의 웹/앱 서비스는 REST API로 충분해요.
- 복잡한 데이터 구조가 필요하거나,
모바일 네트워크 절약이 중요할 땐 GraphQL이 더 유리할 수도 있어요!
🧠 정리 한마디!
- API는 서버와 클라이언트가 소통하는 통로
- REST API는 가장 보편적인 방식 (GET, POST 등으로 자원 관리)
- GraphQL은 더 유연하고 강력하지만, 복잡도도 있음
- 둘 다 목적에 따라 선택해서 사용하면 돼요! 😊
📌 다음 예고: “서버는 어떻게 배포할까? 로컬 서버 vs 프로덕션 서버 차이!”
- 개발할 땐 내 컴퓨터에서 잘 됐는데, 배포하니 오류?!
- 로컬 서버와 실제 운영 서버의 차이
- 배포 시 알아야 할 환경 설정까지!
반응형
'개발 공부 > 서버' 카테고리의 다른 글
[서버 기초] CDN이란? 전 세계 어디서든 웹이 빠른 이유! (0) | 2025.04.03 |
---|---|
[서버 기초] 로컬 서버 vs 프로덕션 서버, 배포는 어떻게 하나요? (0) | 2025.04.02 |
[서버 기초] 서버 호스팅 vs 클라우드 서버, 어떤 차이가 있을까? (0) | 2025.03.31 |
[서버 기초] 도메인과 서버는 어떻게 연결될까? DNS의 모든 것 (1) | 2025.03.28 |
[서버 기초] HTTPS란? HTTP랑 뭐가 다르고, 왜 중요할까? (0) | 2025.03.27 |