정적 리소스를 제공할 때는 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공하면 됩니다.
예를 들어, “/hello.html을 주세요”라고 하면 웹 서버에서 폴더에 있는 이미 생성된 파일을 제공합니다.
주로 웹 브라우저에서 요청을 합니다.
그리고 HTML 페이진데 동적인 HTML 페이지를 요청할 수 있습니다. 예를 들어 “주문 내역을 보여주세요”라고 하면 WAS가 데이터베이스를 통해서 주문 데이터를 조회한 다음에 이것을 동적으로 HTML을 생성합니다.
뷰 템플릿(JSP, 타임리프)을 가지고 주문 정보 조회한 정보를 가지고 프로그램 코드를 넣어서 HTML을 동적으로 생성을 해서 웹 브라우저에 내려줍니다. 동적으로 생성이 된 것에는 주문 내역에 대한 정보들이 다 들어가 있습니다.
그럼 웹 브라우저는 받아서 해석을 해서 보여주게 됩니다.
HTML을 단순하게 전달하는게 아니라 데이터를 전달합니다.
예를 들어, “주문 내역 보여주세요”라고 요청을 하면 아까는 HTML을 웹 브라우저에 전달해줬고 웹 브라우저가 HTML을 렌더링 하면 됐지만, 이게 아니라 주문 정보를 조회해서 JSON 형식의 데이터를 내려줍니다.
JSON이 아니여도 되지만 보통 JSON을 많이 씁니다.
웹 브라우저가 JSON을 해석할 수 있을까요? 못합니다. 그래서 그냥 JSON 형식으로 보여줍니다.