1. 정적 페이지
요청할 때마다 무조건 동일한 페이지가 반환하는 걸 정적 페이지 라고 함!! 서버에서 사전에 생성되어 클라이언트에게 전달되는 페이지다! 만약, 내가 hello를 보내잖아? 버퍼에 담긴 메세지가 항상 동일하단 말. 그러니 캐싱하면 좋겠지요 클라이언트는 이를 캐싱하여 이후에 동일한 페이지를 요청할 때 서버에 다시 요청하지 않고 캐시된 페이지를 사용할 수 있다. 그럼 통신 안해도 된다는 말!! 통신이 준다 = 내 서버가 비용이 작게 든다 = 부하가 적게 걸린다
서버를 만든 사람이 hello는 정적 페이지라는걸 알잖아? 이런 것들을 http header 프로토콜에 넣어주는거임. 캐싱해서 쓰라고 (캐싱할 때는 Cache-Control 이런 걸 적어줘야함.) 그럼 브라우저가 너 캐싱해서 써? 아 정적이란 말이구나!! 하고 안다
2. 동적 페이지
사용자의 요청에 따라 실시간으로 내용이 생성되는 웹 페이지 서버 측에서 데이터베이스나 다양한 로직을 활용하여 페이지의 내용을 동적으로 생성하고 제공 사용자의 입력이나 상황에 따라 다양한 결과를 보여줄 수 있다
데이터가 요청마다 계속 다르다면 캐싱을 사용할 수 없다. (캐싱 관련 헤더를 포함하지 않는다) 브라우저는 매번 해당 페이지를 요청할 때마다 서버로부터 새로운 응답(최신 데이터)을 받게 된다.
* 만약 톰캣으로 넘어가더라도 같은 페이지를 주면 정적이다
* 동적 파일을 응답하려면 반드시 자바 언어가 필요!
[ 네이버는 왜 동적 페이지일까? ]
정적 페이지는 고정된 내용으로 구성되어 있기 때문에 페이지의 내용이 변경될 때마다 새로운 정적 페이지를 생성해야 한다. 파일의 수가 늘어난다는 단점이... 그래서 그냥 파일 1개로 동적 페이지 만드는게 낫다 정적으로 서비스할 수 있는건 요즘엔 회사 홈페이지 정도…
TIP!
만약 [ key값=야! value= 캐싱해! ] 이러면 프로토콜이 다르기 때문에 브라우저가 이해하지 못한다. 파싱 불가! 그렇기 때문에 http(html을 보내는 프로토콜)가 필요
해당하는 프로토콜에 맞춰서 key-value값을 넣어야지만 브라우저가 캐싱하는걸 안다.
Cache-Control: no-store (캐싱 안한다) 이런 식으로 key-value 맞춰야 함!
웹서버랑 was는 다름. 웹서버는 html파일이 모여있는 웹서버. 즉, 정적인 페이지다.
로직 = 어떤 일을 수행하기 위한 단계적인 절차나 규칙
Share article