정적(Static) vs 동적(Dynamic) – 웹 서비스에서의 차이

ddo-log·2025년 8월 21일

Cloud

목록 보기
1/9
post-thumbnail

웹 서비스를 만들다 보면 항상 나오는 말이 있어요.
바로 “정적(Static)” 과 “동적(Dynamic)” 입니다.

이 두 가지 개념은 단순히 기술 용어를 넘어서, 서비스가 어떻게 배포되고, 어디에서 실행되고, 어떤 속도로 사용자에게 전달되는지를 결정짓는 중요한 요소예요.


1. 정적(Static)

정적 자원은 말 그대로 바뀌지 않는 파일을 의미합니다.

  • HTML
  • CSS
  • JavaScript (빌드 결과물)
  • 이미지, 폰트 등

📦 이런 파일들은 한 번 빌드/업로드되면 내용이 바뀌지 않아요.
사용자가 요청하면 서버가 계산을 하지 않고, 그대로 파일만 전달해주면 끝!

👉 그래서 정적 자원은 보통 S3 같은 저장소에 넣고, CDN(CloudFront) 으로 전 세계 어디서든 빠르게 제공할 수 있어요.
(사용자가 서울에 있든, 미국에 있든, 가까운 CDN 엣지에서 바로 응답해줌)


2. 동적(Dynamic)

동적 자원은 요청할 때마다 결과가 달라지는 데이터를 의미합니다.
예를 들어:

  • 로그인 요청 (사용자마다 결과 다름)
  • 데이터 조회 API (DB에서 매번 읽어옴)
  • 주문 처리, 권한 검증 같은 비즈니스 로직

이런 요청들은 단순히 파일만 주는 게 아니라, 서버가 계산을 해서 결과를 만들어줘야 해요.
👉 그래서 동적 자원은 보통 서버(EKS, Node.js, Spring 등) 가 실행되는 리전에 고정되어 있고, 사용자의 요청은 항상 그 서버로 전달됩니다.


3. 우리 프로젝트 예시

제가 개발한 프로젝트에서는 이렇게 나눠져 있어요 👇

  • 동적 자원 (API, Keycloak 등)

    • AWS 서울 리전(EKS) 에 있는 서버에서만 처리됨.
    • 사용자가 미국에서 접속해도, API 요청은 반드시 서울 서버까지 와야 함.
  • 정적 자원 (UI, JS/CSS/HTML 등)

    • S3 + CloudFront 에 올려져 있음.
    • 사용자가 접속하면 가장 가까운 CloudFront 엣지 서버에서 UI 파일을 바로 전달받음.
    • 그래서 해외 사용자도 UI는 빠르게 뜨고, API만 서울까지 가는 구조.

4. 정리

구분정적(Static)동적(Dynamic)
예시JS, CSS, HTML, 이미지로그인, DB 조회, 주문 처리
저장 위치S3, CDN서버(EKS, EC2 등)
응답 방식파일 그대로 전달요청마다 계산 후 응답
속도전 세계 어디서든 빠름 (CDN)서버 리전에 따라 지연 발생 가능

💡 결론

  • 정적은 “한 번 만들어 놓으면 변하지 않는 것”, 그래서 CDN에 올려서 전 세계 사용자에게 빠르게 전달할 수 있음.
  • 동적은 “사용자 요청마다 달라지는 것”, 그래서 항상 서버에서 계산해야 함.
profile
Front-End Programmer

0개의 댓글