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 ;
}
}

/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>";
}
}

호출 시 마다 랜덤한 숫자 값이 출력된다.
Share article