Back-End/JavaSpring

요즘은 클라이언트에게 정적 페이지/동적 페이지가 아닌, 데이터를 반환해준다고? (Spring Boot)

stars_one 2025. 2. 27. 22:36

 

정적 페이지와 동적 페이지 차이

 

동적페이지와 정적페이지, 우리는 이 두 개를 잘 알 것이다.

그래도 동작 방식과 차이점에 대해서 정리해두면 좋을 거 같아서 끄적여 본다

 

 

 

동적 페이지와 정적 페이지의 차이점과 동작 방식에 대해서 알아 보겠다.

 


1. 정적 페이지 처리하기

 

정적 페이지 처리

 

 

위의 그림을 보면 쉽게 이해가 될 것이다.

 

난 spring을 공부하고 있으니, springboot 기준으로 설명하겠다.

springBoot 서버에 html파일을 요청하면 해당 html파일을 static폴더에서 찾아서 반환해준다

 

 

/templates/hello.html

 

 혹은 template engine에 뷰를 전달해서 정적페이지를 띄워줄 수 있는데,

static 폴더에 있는 html파일을  localhost:8080/index.html 처럼, 바로 호출할 수 있지만,

 

이처럼 브라우저에서 바로 접근하는 것이 싫거나, Controller을 통해서 제어하고 싶으면

위 사진처럼 templates 폴더에 정적파일을 추가해서 해당 html파일명을 반환하여 처리할 수 있다

 

알고계시죠?

 

 

 


 

2. 동적 페이지 처리하기

동적 페이지 처리

 

동적 페이지 처리는 

 

클라이언트의 요청을 Controller에서 Model로 처리한다

만약 DB 작업이 필요하면 위 그림처럼 DB작업을 거치고 데이터를 Model에 저장한다.

 

그리고 템플릿 엔진(타임리프 같은거)에게 View(동적 HTML 파일), Model(View에 적용할 정보)을 전달해주면,

 

템플릿 엔진에서는 View에 Model을 적용해서 동적 웹페이지를 생성해준다.

 

그리고 그 View(동적 웹페이지)를 전달해준다!

 

 


 

3. 개발할때는 정적/동적 페이지 반환해준 적 없는데요?

 

페이지 처리

 

 

그렇다면 서버는 요청을 받아서 html/css/js 파일을 반환해주는 것이 주 업무인가?

아니다. 라고 말하기는 좀 그러니깐

 

정답은 없다. 하지만 최근 개발 경향은 그렇지 않은데

예전에는 페이지를 처리해서 반환해주는 경우가 있었지만,

 

웹 개발이 점점 발달 하면서 우리는 프론트엔드와 백엔드로 개발 분야가 나누어지는 것을 확인할 수 있었는데

서로가 따로 발전하게 되면서 우리는 느슨하게 결합하는 방식을 더욱 많이 채택하였고,

 

그래서 서버가 뷰를 반환하기 보다는 클라이언트의 요청에 걸맞는 데이터를 반환해주는 것을

요즘에는 더 선호하는 편이다.

 

그 중에서도 우리는 그 데이터를 주로 JSON 형태로 반환한다. 

 

요즘에는 JSON으로 요청/응답!

728x90