[웹 기초] 4. 정적 데이터와 동적 데이터는 무엇이 다른가

2026. 3. 29. 12:27·Web/Web Basics

 

브라우저가 서버로 request를 보내면 서버는 response를 돌려준다.
그런데 서버가 돌려주는 response는 항상 같은 형태가 아니다.

서버가 보내는 데이터는 크게 두 가지 방식으로 나뉜다.

  • 정적 데이터(static)
  • 동적 데이터(dynamic)

이 구분을 이해하면 “웹 서버”와 “WAS”가 왜 나뉘는지도 자연스럽게 연결된다.

 

 

정적 데이터는 “항상 같은 결과를 보내는 방식”이다

정적 데이터는 말 그대로 요청이 와도 결과가 고정되어 있는 데이터이다.

서버는 특별한 계산을 하지 않고,
그냥 “파일 그대로”를 브라우저에 전달한다.

대표적인 예시는 아래와 같다.

  • HTML 파일
  • CSS 파일
  • JavaScript 파일
  • 이미지 파일(png, jpg 등)
  • 폰트 파일

예를 들어 브라우저가 `/images/logo.png`를 요청했다면,
서버는 로고 이미지 파일을 그대로 읽어서 응답으로 보내면 된다.

여기서는 “사용자마다 결과가 달라질 이유”가 없다.
누가 요청하든 같은 파일을 받는다.

 

 

동적 데이터는 “요청에 맞춰서 만들어서 보내는 방식”이다

동적 데이터는 요청이 들어올 때마다
서버가 그 순간 필요한 결과를 새로 만들어서 보내는 방식이다.

즉 서버가 단순히 파일을 전달하는 게 아니라,
어떤 로직을 실행하고 결과를 구성한다.

대표적인 예시는 아래와 같다.

  • 로그인한 사용자에 따라 다른 화면
  • 게시판 목록(최신 글이 계속 바뀜)
  • 메일함 화면(사용자마다 내용이 다름)
  • 검색 결과(검색어에 따라 바뀜)
  • 장바구니(사용자 상태에 따라 바뀜)

예를 들어 메일함은 이런 특징이 있다.

  • A 사용자가 요청하면 A의 메일 목록이 나와야 한다
  • B 사용자가 요청하면 B의 메일 목록이 나와야 한다
  • 같은 A 사용자라도 시간이 지나면 새 메일이 추가될 수 있다

즉, 같은 주소를 요청해도 결과가 항상 같을 수 없다.
이게 동적 데이터이다.

 

 

정적/동적의 차이는 “서버가 일을 하느냐”의 차이이다

정적 데이터는 보통 이런 흐름이다.

  • 파일을 읽는다
  • 그대로 응답한다

동적 데이터는 보통 이런 흐름이다.

  • 요청을 분석한다
  • 필요한 데이터를 조회한다(DB 등)
  • 로직을 실행한다(검증, 계산, 조건 분기 등)
  • 결과를 조합한다(HTML 또는 JSON 등)
  • 응답한다

즉 동적 데이터는 서버가 “프로그램처럼 동작”한다.
그래서 이 영역을 흔히 서버 사이드 프로그래밍이라고 부른다.

 

 

같은 화면에도 정적과 동적이 섞여 있을 수 있다

실제로는 한 페이지 안에도 정적/동적 요소가 같이 존재한다.

예를 들어 게시판 페이지를 생각해보면,

  • CSS, 로고 이미지, 공통 레이아웃 → 정적 자원인 경우가 많다
  • 게시글 목록 데이터 → 동적으로 생성되는 부분이다

즉 “웹은 전부 동적이다 / 전부 정적이다”가 아니라
정적 자원 + 동적 처리가 섞여서 하나의 화면이 만들어지는 경우가 대부분이다.

 

 

정리

정적과 동적을 가장 간단히 정리하면 다음과 같다.

  • 정적 데이터: 요청이 와도 결과가 항상 고정된 데이터(파일 그대로 전달)
  • 동적 데이터: 요청에 따라 결과가 달라져서 서버가 만들어서 전달하는 데이터

서버가 정적 데이터만 보내는 경우 “웹 서버”라고 부르고,
동적 데이터를 만들어서 보내는 경우 “WAS(웹 애플리케이션 서버)”가 등장한다.

'Web > Web Basics' 카테고리의 다른 글

[웹 기초] 6. 프로토콜과 HTTP/HTTPS  (0) 2026.03.29
[웹 기초] 5. 웹 서버와 WAS  (0) 2026.03.29
[웹 기초] 3. GET과 POST는 무엇이 다른가  (0) 2026.03.29
[웹 기초] 2. request와 response는 어떻게 한 쌍으로 동작하는가  (0) 2026.03.29
[웹 기초] 1. 브라우저와 서버  (0) 2026.03.29
'Web/Web Basics' 카테고리의 다른 글
  • [웹 기초] 6. 프로토콜과 HTTP/HTTPS
  • [웹 기초] 5. 웹 서버와 WAS
  • [웹 기초] 3. GET과 POST는 무엇이 다른가
  • [웹 기초] 2. request와 response는 어떻게 한 쌍으로 동작하는가
sqaxe1
sqaxe1
woojoo-devlog 님의 블로그 입니다.
  • sqaxe1
    Woojoo's Devlog
    sqaxe1
  • 전체
    오늘
    어제
    • 분류 전체보기 (148)
      • Backend (9)
        • Servlet (7)
        • Spring (2)
      • Frontend (1)
      • CS (0)
      • Book (33)
        • 자바 웹 프로그래밍 Next Step (30)
        • 테스트 주도 개발: 고품질 쾌속개발을 위한 TDD.. (1)
        • 성공과 실패를 결정하는 1%의 네트워크 원리 (2)
      • Engineering (0)
        • Testing (0)
      • Infra (6)
        • AWS (6)
      • Java (4)
      • Network (1)
      • 김영한 (28)
        • 자바 입문 (8)
        • 실전 자바 - 기본편 (6)
        • 실전 자바 - 중급편 (10)
        • 실전 자바 - 고급편 (4)
      • Web (39)
        • Web Basics (39)
      • Project (24)
        • NeoSquare (0)
        • Memo Evolution (24)
      • 정보처리기사 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발서적
    aws
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
sqaxe1
[웹 기초] 4. 정적 데이터와 동적 데이터는 무엇이 다른가
상단으로

티스토리툴바