브라우저와 서버의 기본 통신 흐름
사용자는 브라우저를 이용해 서버에 정보를 요청하고, 서버로부터 결과를 전달받는다.
이때 사용자의 요청이 서버에 도달하기 위해서는 서버의 위치 정보가 필요하다.
IP 주소와 Port 번호
IP 주소란?
- 거대한 네트워크 망(인터넷)에서 특정 컴퓨터(서버)를 식별하기 위한 주소
- 사용자의 요청이 정확한 서버로 도달하도록 도와준다
Port 번호란?
- 하나의 서버 컴퓨터 안에서 어떤 프로그램(서비스)에게 요청을 전달할지 구분하는 번호
택배에 비유하면:
- IP 주소 → 건물 주소
- Port 번호 → 받는 사람(또는 호수)
대표적으로 자주 사용되는 포트 번호는 8080이며, 웹 애플리케이션 개발 시 많이 사용된다.
HTTP Request / Response

사용자는 브라우저를 통해 서버에 HTTP 요청(Request) 을 보낸다.
서버는:
- 요청을 수신하고
- 요청을 처리한 뒤
- 결과를 HTTP 응답(Response) 에 담아 브라우저로 전송한다
마지막으로 브라우저는 서버로부터 전달받은 데이터를 해석하여 웹 페이지를 화면에 그려주는 역할을 한다.
API란?
API (Application Programming Interface) 란,
서로 다른 소프트웨어 시스템이 통신하기 위해 따라야 하는 하나의 약속(규칙)
이다.
Interface란?
- 서로 다른 두 시스템, 장치, 소프트웨어 사이에서
- 정보나 신호를 주고받기 위한 접점 또는 경계면
즉, API는 개발자가 다른 시스템을 쉽고 일관된 방식으로 사용할 수 있도록 도와주는 통신 규칙이다.
RESTful API란?
REST (Representational State Transfer) 는 API의 동작 방식에 대한 아키텍처 스타일이다.
REST는 처음에 인터넷처럼 복잡한 네트워크 환경에서
효율적으로 통신을 관리하기 위해 만들어졌다.
REST API / RESTful API
- REST API: REST 아키텍처 스타일을 따르는 API
- RESTful API: REST 원칙을 잘 지켜 설계된 웹 서비스
우리 서버의 API가:
- HTTP 규칙을 잘 준수하고
- 자원 중심으로 명확하게 설계되어 있다면
"RESTful하다"고 표현한다.
HTTP Method와 REST
RESTful API에서는 상황에 맞는 HTTP 메서드를 사용한다.
- GET: 데이터 조회
- POST: 데이터 생성
- PUT: 데이터 전체 수정
- DELETE: 데이터 삭제
이러한 메서드를 목적에 맞게 사용하는 것이 REST 설계의 핵심이다.
정적 컨텐츠와 동적 요청
HTML은 정적 컨텐츠
- 정적인 HTML 페이지는
- 누구나 동일한 화면을 보게 된다
이러한 정적 리소스를 사용자에게 전달하는 역할을 하는 것이 Web Server다.
Web Server와 WAS

Web Server
- 역할: 정적 컨텐츠 제공
- 예:
- Apache
- Nginx
WAS (Web Application Server)
- 역할: 동적인 요청 처리
- 예:
- 로그인
- MyPage 조회
- DB 연동
브라우저로부터 들어오는
“로그인하여 MyPage 요청”
과 같은 동적인 요청은 WAS로 전달되어 처리된다.
WAS도 Web Server 기능을 할 수 있을까?
WAS는 Web Server와 동일하게 HTTP 기반으로 동작한다.
따라서:
- 정적인 HTML 전달도 가능하다
즉, WAS만으로도 서비스 운영은 가능하다.
하지만:
- 정적 리소스 처리
- 보안
- 성능
측면에서 Web Server와 함께 사용하는 것이 더 효율적이다.
WAS 종류
- Tomcat
- JBoss
Apache Tomcat이란?
Apache Tomcat은:
- Web Server 기능과
- WAS 기능을 함께 제공하는 서버
즉, 웹 요청 처리와 동적 로직 실행을 모두 담당할 수 있도록 설계된 서버다.
Spring Boot란?
Spring Boot는 기존 Spring Framework의 복잡한 설정을 대폭 단순화한 프레임워크다.
Spring Boot의 특징
- XML 설정 대신 Annotation 기반 설정
- 자주 사용하는 설정들을 Default 값으로 자동 구성
- 개발자가 직접 설정해야 할 부분을 최소화
Spring Boot와 의존성 관리
Spring Boot에서 JPA, Web 기술 등을 사용하면
하나의 라이브러리만 사용하는 것이 아니라:
- 여러 라이브러리
- 하위 프레임워크
를 함께 사용하게 된다.
Spring Boot는:
- 이 라이브러리들의 버전 호환성을 미리 맞춰서 제공한다
- 개발자는 spring-boot-starter 계열 의존성만 추가하면 된다
덕분에 설정 스트레스 없이 빠른 개발이 가능하다.
Spring Boot의 가장 큰 장점: 내장 Tomcat
Spring Framework에서는:
- 외부 Apache Tomcat을 직접 설치 및 연동해야 했다
하지만 Spring Boot는:
- 내장형 Apache Tomcat을 기본 제공한다
- 별도의 서버 설정 없이 바로 실행 가능
개발자가 서버 설정에 신경 쓸 필요가 없다.
Postman이란?
Postman은 API 개발과 테스트를 빠르고 쉽게 도와주는 소프트웨어 플랫폼이다.
Postman의 역할
- HTTP 요청을 직접 서버에 전송
- 응답 결과를 확인
- API가 약속(API 스펙)에 맞게 동작하는지 검증
실무에서 Postman 활용
Postman은:
- 내가 개발한 API 테스트
- 팀원이 개발한 API 테스트
- Main / Develop 브랜치 병합 후 검증
등의 상황에서 매우 유용하게 사용된다.
즉, 서버가 정상적으로 동작하는지 확인하는 필수 도구라고 할 수 있다.
'BackEnd > 내일배움캠프' 카테고리의 다른 글
| 6. MVC 디자인 패턴이란? (0) | 2026.02.09 |
|---|---|
| 5. Lombok이란? (0) | 2026.02.09 |
| 4. 테스트코드 (0) | 2026.02.09 |
| 3. HTTP란 무엇일까? (0) | 2026.02.09 |
| 1. 그레이들(Gradle)이란 무엇일까? (0) | 2026.02.09 |