728x90
반응형
1️⃣ Endpoint 단어 뜻
- 영어 end = 끝, point = 지점, 점
- 합치면 “끝 지점” 혹은 “마지막 지점” 정도 의미
- 컴퓨터/네트워크에서는 데이터 통신의 최종 목적지라는 뜻으로 사용
2️⃣ API에서의 의미
- 클라이언트와 서버가 통신할 때 서버 리소스/기능에 접근하는 마지막 지점이 바로 엔드포인트
- 즉, URL + HTTP 메서드 조합이 “클라이언트가 요청을 보내는 최종 목적지”
예시:
GET /users/123
- 클라이언트가 /users/123라는 서버의 특정 기능/리소스에 요청을 보내면
- 서버에서 처리 후 응답이 돌아오고, 그 URL + 메서드가 엔드포인트가 되는 것
💡 비유
- URL = 건물 주소
- 엔드포인트 = 건물 안 방 하나, 문 하나
- 데이터가 도착하는 최종 지점(end point)
3️⃣ 정리
| 용어 | 의미 |
| Endpoint | “끝 지점” = 클라이언트 요청이 도착하는 최종 목적지 |
| URL + HTTP 메서드 | 엔드포인트를 실제로 구현한 방식 |
| API 호출 | 엔드포인트를 통해 서버 기능 수행 |
- 즉, ‘끝(point)’이라는 말은 통신 경로에서 이 요청이 최종적으로 도착하는 곳이라는 의미
이제 “왜 API 호출이 엔드포인트를 통해 서버 기능을 수행하는지”를 네트워크 관점에서 차근차근 설명해드릴게요.
1️⃣ 클라이언트 ↔ 서버 구조
- 클라이언트 = 요청을 보내는 쪽 (브라우저, 앱)
- 서버 = 요청을 받아 처리하고 응답을 보내는 쪽
- 클라이언트는 서버의 모든 기능을 직접 호출할 수 없음
- 서버는 여러 기능이 있고, 각각 접근할 수 있는 주소와 방식이 있음
2️⃣ 엔드포인트 = 서버 기능의 출입구
- 서버 기능마다 고유한 URL + HTTP 메서드를 할당
- 클라이언트는 이 출입구를 통해서만 기능에 접근 가능
예시:
| 엔드포인트 | 기능 |
| GET /users | 회원 목록 조회 |
| POST /users | 회원 등록 |
| PUT /users/123 | 회원 정보 수정 |
- 클라이언트가 GET /users 요청 → 서버에서 회원 목록 조회 기능 수행
- 요청하지 않은 다른 기능은 접근 불가
3️⃣ 요청 → 처리 → 응답 흐름
- 클라이언트: 엔드포인트로 HTTP 요청 전송
- 서버: URL + 메서드 확인 → 해당 기능 실행
- 서버: 처리 결과를 HTTP 응답으로 반환
- 클라이언트: 결과 확인 후 화면에 표시
클라이언트
│
├── HTTP 요청(GET /users) ──▶ 서버
│ ├─ 회원 목록 조회 기능 수행
│ └─ 결과 반환
│
응답 수신 후 화면 렌더링
4️⃣ 핵심
- 엔드포인트 = 클라이언트가 서버 기능을 호출할 수 있는 “정해진 문/문지기”
- API 호출이 엔드포인트를 통해 기능을 수행하는 이유:
- 서버 기능을 안전하게 구분하기 위해
- 클라이언트가 원하는 기능만 호출하도록 명확하게 하기 위해
- RESTful, 보안, 유지보수 관점에서 효율적
💡 비유
- 서버 = 큰 건물, 여러 방마다 기능 있음
- 엔드포인트 = 각 방의 문
- 클라이언트 = 방문객, 문을 통해서만 방에 들어가 기능 사용 가능
이제 “API”와 “API 호출”을 근본부터 확실하게 짚어드릴게요.
1️⃣ API란?
- API = Application Programming Interface
- 쉽게 말하면 프로그램끼리 서로 대화할 수 있게 해주는 약속/규칙
핵심 포인트
- 인터페이스(interface) = 서로 소통할 수 있는 창구, 약속된 방법
- 프로그램끼리 소통 = 사람이 아니라 프로그램끼리 데이터를 주고받는 통로
- 기능 노출 =
내부 로직을 숨기고 필요한 기능만 제공
2️⃣ 일상 비유
- 레스토랑:
- 주방 = 서버(실제 기능)
- 메뉴판/주문창구 = API
- 주문(호출) = API 호출
- 손님은 메뉴를 보고 주문만 하면, 주방 내부 구조를 알 필요 없음
3️⃣ API 호출이란?
- API가 “서로 소통할 수 있는 약속”이라면
- API 호출 = 그 약속을 실제로 실행하는 행동
즉, 클라이언트가 서버 API를 이용해 요청(Request)을 보내고, 응답(Response)을 받는 과정
예시: 웹 API
fetch('https://example.com/users') // API 호출
.then(response => response.json())
.then(data => console.log(data));
- fetch() → API 호출
- URL + HTTP 메서드 → 엔드포인트 지정
- 서버에서 처리 후 결과 반환
더보기
fetch()에서 HTTP 메서드를 지정하는 방법을 단계별로 설명할게요.
1️⃣ 기본 fetch 사용
fetch('https://example.com/users')
- URL만 지정 → 기본 HTTP 메서드 = GET
- 즉, 별도로 지정하지 않으면 서버에 “데이터 조회(GET)” 요청
2️⃣ HTTP 메서드 지정 방법
fetch()는 두 번째 인자로 옵션 객체를 받을 수 있어요:
fetch('https://example.com/users', {
method: 'POST', // HTTP 메서드 지정
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ name: "Alice", age: 23 }) // 객체 -> JSON 문자열 변환 후 POST
});
- method → HTTP 메서드 지정 (GET, POST, PUT, DELETE, PATCH 등)
- headers → 요청 헤더
- body → POST/PUT/PATCH에서 서버로 보내는 데이터
3️⃣ GET과 POST 예시 비교
GET 요청
fetch('https://example.com/users'); // URL만 지정 → 조회 요청
POST 요청
fetch('https://example.com/users', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ name: "Alice" })
});
- POST → 서버에 데이터를 생성/전송
- GET → 서버에서 데이터 조회
4️⃣ 요약
| 구성 요소 | fetch에서 위치 |
| 엔드포인트 | 첫 번째 인자 (URL) |
| HTTP 메서드 | 두 번째 인자 객체의 method 속성 |
| 요청 헤더 | 두 번째 인자 객체의 headers |
| 전송 데이터 | 두 번째 인자 객체의 body |
💡 비유
- URL = 주소
- method = 문 열고 들어갈 행동(GET/POST 등)
- headers/body = 편지 내용이나 포장
4️⃣ 정리
| 용어 | 의미 |
| API | 프로그램끼리 소통할 수 있게 만든 약속/규칙 |
| API 호출 | 그 약속을 실제로 이용해서 요청을 보내고 응답을 받는 행동 |
| 엔드포인트 | API 호출 시 데이터가 도착하는 최종 지점 / 출입구 |
💡 비유
- API = 메뉴판
- API 호출 = 주문
- 서버 기능 수행 = 주방 요리
- 결과 반환 = 요리 서빙
728x90
반응형
'프로그래밍' 카테고리의 다른 글
| DB 설계 :: DBSM :: SQL -> Query :: CRUD (0) | 2025.10.10 |
|---|---|
| 백엔드 API 명세 설계 예시 (0) | 2025.10.09 |
| 백엔드 API 명세 설계 예시 (0) | 2025.10.09 |
| fetch API 의 응답 분석 :: response, data 의 정체는? (0) | 2025.10.08 |
| 이스케이프 문자 란? 이스케이프 문자 종류 \" \n \r\n (줄바꿈) ... (0) | 2025.10.08 |
| JS 객체 vs JSON 문법 규칙 차이 :: " " (0) | 2025.10.08 |
| 객체(Object) vs JSON (0) | 2025.10.08 |
| JavaScript를 웹 브라우저 밖에서 실행하려면? Node.js / Deno, Bun / Electron (0) | 2025.10.08 |