반응형
API란 무엇인가? 🤔
API(Application Programming Interface)는 개발자들 사이에서 자주 언급되는 개념입니다. 인터페이스라는 단어 자체가 '미리 정해진 약속'을 뜻하기 때문에, API는 컴퓨터들 간의 소통을 가능하게 하는 규칙과 약속이라고 할 수 있습니다. 이번 포스팅에서는 API와 관련된 기본 개념을 쉽게 이해할 수 있도록 정리해보겠습니다!
1. API란 무엇인가? 🤝
API는 Application Programming Interface의 약자로, 서로 다른 프로그램이 소통할 수 있게 만드는 미리 정해진 규칙입니다.
간단히 말하면, 초록색 컴퓨터가 파란색 컴퓨터에게 정보를 요청하고 응답받는 방법을 정의한 것입니다.
예시:
GET 요청:
GET /portion?color=red&count=2 Host: spring.com:3000
- 파란 컴퓨터는 초록 컴퓨터로부터 "빨간 포션 2개를 달라"는 요청을 받을 것입니다.
- 초록 컴퓨터는 이 요청을 처리할 준비가 되어 있어야 합니다.
POST 요청:
POST /oak/leather Host: spring.com:3000 오크 가죽 정보
- 이 경우에는 "오크 가죽 데이터를 저장해 달라"는 요청입니다.
- 초록 컴퓨터는 이 요청을 저장할 수 있도록 설계되어야 합니다.
2. URL과 HTTP 요청의 구조 🌐
URL은 Uniform Resource Locator의 약자로, 요청의 경로를 지정합니다.
아래는 URL의 구조를 나누어 설명합니다:
URL의 구조:
예시:http://spring.com:3000/portion?color=red&count=2
- http: 사용 중인 프로토콜
- :// 구분 기호
- spring.com: 도메인 이름 (IP 주소로 대체 가능)
- :3000: 포트 번호
- /portion: 자원의 경로
- ?color=red&count=2: 요청에 포함된 쿼리
HTTP 요청의 구성:
- 첫 줄: 요청 메서드(GET, POST 등), 경로, HTTP 버전
- 헤더(Header): 요청에 필요한 추가 정보
- 바디(Body): 요청에 포함된 실제 데이터
3. HTTP 응답이란? 📬
요청이 있다면 응답도 존재합니다.
HTTP 응답은 요청에 대한 결과를 클라이언트(요청자)에게 전달합니다.
HTTP 응답의 구성:
- 첫 줄: 상태 코드와 상태 메시지
- 헤더(Header): 응답에 대한 추가 정보
- 바디(Body): 응답의 실제 내용
상태 코드 예시:
- 200 OK: 요청 성공
- 300 Redirect: 다른 경로로 이동
- 404 Not Found: 요청한 자원을 찾을 수 없음
- 500 Internal Server Error: 서버 내부 오류
4. API의 실제 응답 예시 🖥️
GET 요청:
GET /portion?color=red&count=2
Host: spring.com:3000
HTTP 응답:
200 OK
Content-Type: application/json
{
"message": "빨간 포션 2개"
}
요청에 대한 응답도 구조가 동일합니다.
- 첫 줄: 상태 코드와 메시지 (200 OK)
- 헤더: 응답에 대한 정보 (Content-Type)
- 바디: 실제 전달된 데이터
마무리: API를 이해하며 🚀
오늘은 API의 기본 개념과 요청 및 응답의 구조를 알아보았습니다. 다시 요약하자면,
- API는 서로 다른 프로그램 간의 소통 규칙입니다.
- HTTP 요청은 URL, 헤더, 바디로 구성됩니다.
- HTTP 응답은 상태 코드, 헤더, 바디로 전달됩니다.
반응형
'자바와 스프링 부트로 생애 최초 서버 만들기' 카테고리의 다른 글
#9 POST API 개발 및 테스트! 24.12.18 (0) | 2025.02.12 |
---|---|
#8 Spring Boot로 GET API 24.12.18 (0) | 2025.02.12 |
#6 HTTP란 무엇인가? 24.12.18 (0) | 2025.02.12 |
#5 네트워크란 무엇인가? 24.12.18 (0) | 2025.02.12 |
#4 서버란 무엇인가? 24.12.18 (1) | 2025.02.12 |