정적 페이지(Static Page), 동적 페이지(Dynamic Page)

Jan 25, 2024
정적 페이지(Static Page), 동적 페이지(Dynamic Page)
 
 

1. 정적 페이지(Static Page)

 
 
정적 페이지는 서버에서 클라이언트로 전송되는 데이터가 일정한 값을 보여주는 웹 페이지다.
변하지 않는 정보를 표시하며, 새로운 데이터가 필요하다면 새로운 페이지를 만들어야 한다.
HTML, CSS, JavaScript 및 이미지 파일 등이 정적 페이지로 이루어져있다.

장점

● 동일한 데이터가 제공되기 때문에 서버 부하가 낮다.
● 서버에 미리 생성되어 있기 때문에 응답이 매우 빠르며, 캐싱이 용이하다.
 

단점

● 클라이언트와 상호작용이 제한적이다.
● 새로운 데이터가 필요할 경우, 새로운 페이지가 필요하기 때문에 수많은 페이지가 만들어져야 한다.
 
@RestController // JSON 형태의 객체 데이터를 반환, 부착된 클래스와 하위 클래스 스캔 public class HelloController { public HelloController(){ System.out.println("hello컨트롤러 컴포넌트 스캔됨"); } @GetMapping(("/home")) // "/home" 경로로 들어오는 URL 을 파싱, HTTP get요청 public String home(){ String name = "홍길동" ; return name ; } }
 
 
notion image
/home 을 여러번 호출해도 동일한 값이 출력된다.
 

2. 동적 페이지(Dynamic Page)

 
동적 페이지는 클라이언트의 요청에 따라 서버에서 동적으로 생성되는 웹 페이지다.
동적으로 컨텐츠가 생성되기 때문에 클라이언트에게 최신 정보를 제공할 수 있다.
 
 

장점

● 동적으로 컨텐츠가 생성되기 때문에 최신 정보를 제공할 수 있다.
● 클라이언트에게 맞춤형 정보를 제공할 수 있다.
 

단점

● 동적으로 컨텐츠가 제공되기 때문에 캐싱이 어렵다.
● 서버 부하가 크고 , 응답시간이 느릴 수 있다.
 
@RestController public class HelloController { //new 되서 ioc 컨테이너에 저장됨. 싱글톤으로 뜸. public HelloController(){ System.out.println("hello컨트롤러 컴포넌트 스캔됨"); } @GetMapping("/random") public String random(){ Random r = new Random() ; int num = r.nextInt(50)+1; return "<h1>random: " +num+"</h1>"; } }
notion image
 
호출 시 마다 랜덤한 숫자 값이 출력된다.
Share article

{CODE-RYU};