질문> 안녕하세요. 베누시안님 ^^
"정적 콘텐츠"와 "동적 콘텐츠"에 대해서 알 수 있을까요? 음.. 쉽게 이해가 가능한 예시가 있을지 궁금합니다!
답변> 웹사이트에서 정적인 콘텐츠란 HTML 파일내부에 콘텐츠가 있는 것이고 동적인 콘텐츠란 HTML 파일에 콘텐츠가 있는 것이 아니라 데이터베이스 저장해둔 것을 말합니다. 데이터베이스에 저장해둔 콘텐츠를 HTML 파일에 불러오기 위해서는 HTML 파일에 php 코드를 넣어두면 됩니다. 예를들어 글 목록에서 글 제목을 클릭한 경우, 데이터베이스에서 글을 불러오는 것이죠.
정적인 웹사이트는 콘텐츠의 변동이 없는 경우에 사용하고 동적인 웹사이트는 콘텐츠의 변동이 많은 경우에 사용합니다.
예를들어 제 블로그에 있는 메뉴에서 부트스트랩의 메뉴중 하나를 클릭하면 웹페이지가 나타납니다.
위에서 모든 내용을 콘텐츠(Contents)라고 하죠. 이 콘텐츠는 HTML 파일 내부에 저장돼 있습니다. 파일을 열어보면 다음과 같습니다.
위 파일으 내용을 보면 한글이 나오죠. 이런 것은 모두 콘텐츠에 해당합니다. 그런데 동적인 콘텐츠의 웹사이트는 이런 콘텐츠가 HTML 파일에 없습니다. 티스토리 블로그의 HTML 파일을 보면 아래와 같습니다.
위와같이 콘텐츠가 있는 것이 아니라 데이터베이스에 저장된 콘텐츠를 불러오기 위한 php 코드가 있습니다. 이는 하나의 HTML 페이지만 사용해도 내 블로그의 데이터베이스에 저장된 글을 보여줄 수 있습니다. 데이터베이스를 보면 아래처럼 글 아이디, 제목, 글 내용이 저장돼 있습니다.
어떤 글을 클릭하느냐에 따라서 다른 글이 나타나는 것이죠. 하지만 정적인 웹사이트는 모든 콘텐츠가 HTML 파일에 들어있기 때문에 서로 연결하기 위해서 하이퍼 링크(앵커 태그)를 사용합니다.
부트스트랩 페이지의 메뉴에는 여러 개가 있고 실제 파일도 여러 개가 필요합니다. 하지만 동적인 콘텐츠의 웹사이트는 모든 콘텐츠를 위해 해당 갯수만큼 파일이 필요하지 않죠. 하나의 레이아웃만 있으면 되는 것입니다.
그러니 동적인 웹사이트가 훨씬 경제적이고 효율적인 것입니다. 하지만 콘텐츠의 변동이 없고 몇개의 페이지만 필요한 회사 소개 사이트라면 정적인 콘텐츠의 웹사이트가 훨씬 속도도 빠릅니다. 데이터베이스를 거치지 않고 있는 그대로 보여주기 때문이죠.
이러한 데이터베이스의 콘텐츠를 불러오는 역할을 하는 것을 티스토리에서는 치환자라고 하고 워드프레스에서는 탬플릿 태그라고 합니다. 이들은 모두 php 프로그램으로 만들어졌고 각 블로그 프로그램의 코어파일에 어떤 역할을 하라는 명령이 이미 만들어져 있습니다. 그러니 같은 블로그 프로그램이라도 성격이 다르기 때문에 티스토리의 치환자를 워드프레스에서 사용할 수 없습니다.
그래서 멋진 워드프레스 테마를 티스토리 스킨으로 사용하고자 할 때 그냥 스킨만 가져다가 사용할 수 있는 것이 아니라 새롭게 디자인해야합니다. 다만 보면서 그대로 만드는 것이기 때문에 창의력이 필요하지 않고 시간만 필요한 것이죠.