웹 개발과 정보처리기사 시험에서 중요한 개념 중 하나는 서버와 클라이언트 간 데이터 교환 방식 입니다.
많은 초보자가 “REST API”라는 단어만 보고 어렵게 느끼지만, 원리를 이해하면 웹 서비스 구조가 훨씬 명확해집니다.
이번 글에서는 REST 구조의 개념부터 실무 활용, 정보처리기사 출제 포인트까지 입문자도 쉽게 이해하도록 자세히 풀었습니다.

1. REST 구조와 인터페이스란?
✔ 인터페이스(데이터 통로) 이해
인터페이스는 프로그램끼리 데이터를 안전하게 주고받는 통로라고 이해하면 쉽다.
✔ 입문자를 위한 쉬운 비유: 식당 종업원
- 손님 → 주문 전달
- 종업원 → 주방(서버)에 전달
- 주방 → 결과 준비
- 종업원 → 손님에게 전달
손님은 내부 주방 구조를 몰라도 되고, 서버는 직접 손님을 응대하지 않아도 된다.
중간에서 연결해 주는 역할이 바로 인터페이스입니다.
2. REST 구조의 핵심 개념
REST(Representational State Transfer)는 웹에서 자원을 관리하고 표준화된 방식으로 요청/응답을 주고받는 구조입니다.
✔ 입문자를 위한 쉬운 비유 : 우편 주소 체계
우편번호와 주소 체계 덕분에 전국 어디든 빠르고 정확하게 편지가 도착하듯,
REST 구조는 정확한 URL 규칙으로 서버 자원을 찾아 접근하게 합니다.
3. REST 구조 구성 요소
REST 구조는 URL(자원), HTTP 메서드(행동), 헤더(추가 정보), 바디(전송 데이터) 네 가지 요소로 이루어집니다.
| 요소 | 설명 | 예시 | 비유 |
|---|---|---|---|
| URL | 자원 위치 | /users/10 | 특정 주소로 우편 보내기 |
| HTTP 메서드 | 동작 지정 | GET, POST, PUT, DELETE | 문을 두드리는 방식 |
| 헤더 | 요청 관련 추가 정보 | Content-Type: application/json | 우편물 겉봉 |
| 바디 | 서버로 전달할 데이터 | { "name":"홍길동" } | 택배 박스 안 물품 |
Tip) 천천히 읽어보시면서 이해하고 넘어가시길 바랍니다. 핵심이 되는 내용입니다.
4. HTTP 메서드와 CRUD
REST 구조에서 행동은 HTTP 메서드로 표현하며, CRUD와 연결됩니다.
| HTTP 메서드 | CRUD | 정보처리기사 출제 포인트 | 예제 |
|---|---|---|---|
| GET | Read | 조회용 요청, 상태코드 200 | GET /users/10 |
| POST | Create | 새 데이터 생성, 상태코드 201 | POST /users {name:"홍길동"} |
| PUT | Update | 기존 데이터 수정 | PUT /users/10 {age:26} |
| DELETE | Delete | 데이터 삭제 | DELETE /users/10 |
Tip) 천천히 읽어보시면서 이해하고 넘어가시길 바랍니다. 핵심이 되는 내용입니다.
5. JSON과 데이터 구조
REST에서 주고받는 데이터는 대부분 JSON 구조를 사용합니다.
✔ 특징
- 가독성 높음
- 가볍고 다양한 언어에서 호환
- 쉽게 파싱 가능
✔ 입문자를 위한 비유 : 택배 박스 안 물품 목록
서로 다른 장소에서도 목록 형식이 같기 때문에 어디서든 쉽게 확인 가능합니다.
6. 상태코드 활용
REST 요청에는 HTTP 상태코드가 함께 따라옵니다. 상태코드 이해는 정보처리기사 필기와 실기 모두에 있어 중요한 내용입니다.
| 상태코드 | 의미 | 정보처리기사 출제 포인트 | 예제 |
|---|---|---|---|
| 200 | 성공 | 정상 요청 | GET /users/10 → 200 OK |
| 201 | 생성됨 | POST 요청 성공 | POST /users → 201 Created |
| 400 | 잘못된 요청 | 파라미터 오류 | GET /users/xyz → 400 Bad Request |
| 401 | 인증 실패 | 로그인 필요 | 보호된 API 접근 시 401 Unauthorized |
| 404 | 없음 | URL 오류 | GET /unknown → 404 Not Found |
| 500 | 서버 오류 | 서버 내부 문제 | 서버 예외 발생 시 500 Internal Server Error |
Tip) 천천히 읽어보시면서 이해하고 넘어가시길 바랍니다. 핵심이 되는 내용입니다.
7. REST 설계 규칙
- URL은 자원(명사) 중심
- 행동은 HTTP 메서드로 표현
- URL에 동사 사용 금지
- RESTful 구조는 상태코드 활용 필수
8. 정보처리기사에서는? (상세 + 예제)
REST 구조는 정보처리기사 필기·실기 모두에서 핵심입니다.
그렇기 때문에 클라이언트-서버 구조, HTTP 메서드, JSON, 상태코드 활용이 자주 출제됩니다.
① 클라이언트-서버 구조 이해
- 클라이언트 : 사용자 요청 프로그램(브라우저/앱)
- 서버 : 요청 처리 후 결과 반환
기출 예제:
Q: REST 구조에서 클라이언트와 서버 역할을 설명하시오.
A: 클라이언트는 요청 전송, 서버는 요청 처리 후 결과 반환. URL은 자원 식별, HTTP 메서드는 요청 동작.
② HTTP 메서드와 CRUD 매핑
| HTTP 메서드 | CRUD | 상태코드 | 예제 |
|---|---|---|---|
| GET | Read | 200 | /users/10 |
| POST | Create | 201 | /users {name:"홍길동"} |
| PUT | Update | 200 | /users/10 {age:26} |
| DELETE | Delete | 200 | /users/10 |
Tip) 웹 개발에 있어 실무에서 굉장히 많이 사용되는 메서드입니다. CRUD는 당연하고 상태코드는 로그를 확인할 때 직관적입니다.
Tip) HTTP 메서드의 경우 전자정부프레임워크(스프링도 마찬가지)의 웹 개발에 있어서 컨트롤러에서 서비스를 호출할 때 get, post, put을 주로 사용합니다.
기출 예제:
Q: GET 요청 후 상태코드 200이면 무엇을 의미하는가?
A: 요청이 정상 처리되어 서버에서 데이터를 반환함.
③ JSON 데이터 이해
{
"id": 10,
"name": "홍길동",
"age": 25,
"email": "hong@example.com"
}
기출 예제:
Q: JSON 구조에서 age 값을 출력하는 코드 작성 (JavaScript 기준)
A:data.age
④ 실기 연계 예제
// GET
fetch("/users/10")
.then(res => res.json())
.then(data => console.log(data));
// POST
fetch("/users", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({name:"홍길동", age:25})
});
// PUT
fetch("/users/10", {
method: "PUT",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({age:26})
});
// DELETE
fetch("/users/10", { method: "DELETE" });
9. 실무 활용 예시
- 프론트엔드 : fetch, axios 사용
- 백엔드: Spring, Node.js, Django 등에서 REST 엔드 포인트 제공
- 공공 API 활용 가능
10. RESTful vs REST 구조
- REST API: REST 원칙 기반 API 전체
- RESTful API: REST 원칙을 엄격히 지킨 API
RESTful은 표준을 잘 지킨 구조를 의미한다.
11. 입문자 학습 로드맵
| 단계 | 학습 요소 | 설명 |
|---|---|---|
| 1 | HTTP 기본 | 메서드/상태코드 이해 |
| 2 | JSON 구조 | 데이터 해석 |
| 3 | REST 구조 | URL 규칙·자원 중심 설계 |
| 4 | Postman 사용 | 테스트 도구 |
| 5 | 간단한 호출 | 공공 API 활용 |
| 6 | 직접 구조 제작 | Spring, Node 등 |
Tip) 저도 실제로 해당 순서대로 공부했습니다. 여러분도 입문자라고 하신다면 위와 같은 순서로 공부 하시길 추천드립니다.
12. 외부 참고자료
- Red Hat – REST API 정의 및 설계
https://www.redhat.com/ko/topics/api/what-is-a-rest-api - AWS – RESTful API 소개
https://aws.amazon.com/ko/what-is/restful-api/ - Akamai – REST API 보안 베스트 프랙티스
https://www.akamai.com/blog/security/rest-api-security-best-practices
13. 마무리
REST 구조를 이해하면 웹 개발 구조가 명확해집니다.
- URL 규칙
- HTTP 메서드
- 상태코드
- JSON 구조
- REST 설계 원칙
이 다섯 가지 핵심만 이해해도 웹 서비스 구조 90% 이상을 해석할 수 있습니다. 그리고 여러분은 입문자에서 초급 실무 개발자로 성장할 수 있습니다.
14. 다음편 예고
이번 편에서는 REST API에 대해서 알아봤습니다. 다음 편은 [정보처리기사] 제 13편 – REST 인증 방식(OAuth·토큰·쿠키) 완전 정복으로
“로그인은 어떻게 REST 구조와 연결될까?” 등 REST 인증 원리를 초보 및 입문자도 쉽게 이해할 수 있도록 완전 정리를 포스팅할 예정입니다.
많은 사랑과 관심 부탁드립니다!
15. 이전 편을 보지 못했다면?
[정보처리기사] 필기 실기 통합 이론 제 1편 – 정보와 보안의 모든 것
[정보처리기사] 필기 실기 통합이론 제2편 – 디자인패턴
[정보처리기사] 필기·실기 통합이론 제3편 – IT 신기술 및 전산 용어 총정리
[정보처리기사] 필기·실기 통합 이론 제 4편 – 실무에서 바로 쓰이는 기출전산용어
[정보처리기사] 필기·실기 통합 이론 제 5편 – 기출용어 중 실무에서 자주 쓰이는 고급 전산용어
[정보처리기사] 필기·실기 통합 이론 제 6편 – 기출용어 중 실무에서 자주 쓰이는 네트워크 보안과 데이터 암호화 핵심 정리 (SSL/TLS 포함)
[정보처리기사] 필기·실기 통합 이론 제 7편 – 실무에서 바로 쓰이는 네트워크 구조 완전 정복
[정보처리기사] 제 8편 – TCP/IP 완전 정복 (핵심 개념 + 포트번호 + 계층 역할)
[정보처리기사] 필기 실기 통합 이론 제 9편 – 웹 통신 완전 정복(HTTP, HTTPS, 쿠키, 세션, 토큰)
[정보처리기사] 필기 실기 통합 이론 제 10편 – 웹 보안 완전 정복(XSS · CSRF · SQL Injection 쉽게 이해하기)
[정보처리기사] 필기 실기 통합 이론 제 11편 – 웹 서버와 WAS 구조 완전 정복