웹 개발을 하여 홈페이지를 만들었다면, 본인이 작업한 컴퓨터 외에서도 홈페이지에 접근하려면 호스팅이라는 절차를 걸쳐야 한다.
호스팅이란 대용량의 인터넷 전용 회선을 가진 통신 업체나 웹 개발 회사가 웹 서버를 다른 업체나 개인에게 임대하는 일을 말한다. 쉽게 말해, 내 홈페이지를 인터넷의 정식적인 홈페이지로 등록, 가동해 준다고 생각하면 될 것이다.
호스팅을 걸치지 않으면, 개인의 컴퓨터로는 홈페이지를 열 수 있지만 다른 컴퓨터, 핸드폰과 같은 인터넷으로는 접근할 수 없다. 이러한 호스팅도 홈페이지의 종류에 따라 절차 간의 차이가 있을 수 있는데, 종류를 나누는 기준에 대하여 알아보자
'종류를 나눈 기준 - 홈페이지가 움직이는 동적인가? 멈춰있는 정적인가?'
홈페이지는 크게 실시간으로 움직이는 동적 홈페이지와 멈춰있는 정적 홈페이지가 있다.
흔히들 알고 있는 대부분의 홈페이지는 동적 홈페이지이다. 반대로 정적 홈페이지란 말 그대로 '보여주기식'의 홈페이지이다. 물론, 아예 멈추어 있는 것은 아니지만 지정된 해당 동작의 움직임을 제외하고는 추가적인 움직임, 데이터의 표시등을 나타내지 않는 홈페이지이다. 간단한 예시로는 청첩장, 홍보하는 홈페이지 등이 있다.
이러한 홈페이지는 특정 시간에 따른 데이터를 가져오는 크롤링, 입력값을 저장하여 관리하는 데이터베이스를 작동할 필요가 없어, 서버를 구동시킬 필요도 없다. 단순한 홍보가 목적이기에 홈페이지는 누구에게나 언제 보여주어도 같은 형태를 유지하기 때문이다.
표현을 위한 페이지이므로 당연히 로그인 기능도, 댓글 달기도, 정보를 가져오는 등의 행위 등이 이루어지지 않는다.
정적 홈페이지는 서버 컴퓨터를 대여하는 서비스를 이용할 필요가 없으므로 홈페이지만 열어주는 과정을 걸치면 된다. 대표적인 호스팅 서비스 사이트로는 'netify'가 있다
하지만 동적 홈페이지는 날짜, 시간, 데이터의 입력 등 특정 기준에 따른 동작마다 페이지가 변한다.
위의 사진과 같이 동적 홈페이지 개발 간에는 클라이언트, 서버의 역할을 나누고 이에 따른 개발이 동시에 이루어져야 한다.
따라서 클라이언트와 서버로 이루어져, 클라이언트의 요구 사항을 처리해 주는 서버 컴퓨터가 필요하다. 클라이언트는 정보의 제공을 요구하는 컴퓨터, 즉 사용자들의 컴퓨터로서 개발자자들이 웹을 개발하며 이미 구성을 다 해놓았겠지만, 서버 컴퓨터는 웹 개발을 한 후에 추가적인 작업이 필요로 요구된다.
이러한 작업을 하기 위해서는 본인의 홈페이지에 따른 서버 역할을 해줄 컴퓨터가 필요하다.
'내 컴퓨터로 작업하는 건데 내 컴퓨터가 서버 역할도 하면 되는 거 아닌가?'라는 의문이 들 수 있다. 이 때, 내 컴퓨터는 항상 작동되어야 하며, 개인 컴퓨터인 만큼 보안이 취약하다. 또, 서버의 역할을 할 수 있는 기능을 구비한 컴퓨터가 필요하다.
다시 말해, 리스크도 크고 요구 사항도 많기 때문에 이러한 역할을 전문적으로 하는 서버 컴퓨터, 클라우딩 컴퓨터 등이 있는 것이다.
따라서 서버 컴퓨터를 대여해야 하는데, 이런 절차를 전문적으로 서비스의 대표적인 예시로 '아마존 웹 서비스(AWS)'가 있다. AWS를 활용하면, 본인의 홈페이지를 담당해 줄 서버 컴퓨터를 대여해, IP를 할당받는다. 또, 할당받은 IP를 통해 원격접속하여 대여한 서버 컴퓨터의 설정을 변경하는 등의 관리를 할 수 있다.
우리가 이용하고 있는 서비스는 대부분 로그인, 댓글, 시간에 따른 데이터 표시 등을 가지고 있기에 동적 사이트이다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]