웹의 기본 동작 원리는 사용자와 웹 브라우저가 클라이언트가 되어 서버에 서비스를 요청(request)하고, 서버는 해당 요청에 대해 응답(response)하여 서비스를 제공해주고 웹 브라우저 화면에 결과를 출력하는 것입니다.
예를 들어, 구글(www.google.com)에 접속하고자 할 때 사용자는 주소창에 위의 주소를 입력해서 사이트에 접속할 수 있습니다.
사용자가 웹브라우저(크롬, 파이어폭스 등)을 통해서 구글에 접속하면 구글 주소를 DNS 서버에 보냅니다.
그리고 사용자는 DNS 서버에서 구글의 도메인에 해당되는 IP주소를 받게됩니다. 사용자는 구글의 IP주소를 이용하여 호스트 서버로 IP주소를 보내게 되고 이에 해당하는 홈페이지를 볼 수 있는 것입니다.
IP주소는 Internet으로 통신하는 각 장치들에 부여된 고유한 값입니다.
스마트폰이나 노트북부터 대규모 소매 웹사이트의 콘텐츠를 서비스하는 서버에 이르기까지 인터넷상의 모든 컴퓨터는 숫자를 사용하여 서로를 찾고 통신하며, 이러한 숫자를 IP 주소라고 합니다.
하지만, IP주소는 숫자로 이루어져 있기 때문에 여러 사이트들의 IP주소를 직접 외우고 다니기란 쉽지 않습니다. 그래서 DNS(Domain Name System)을 이용하게 됩니다.
사람이 읽을 수 있는 도메인 이름을 머신이 읽을 수 있는 IP주소로 변환하는 방식입니다.
DNS는 숫자와 이름 간의 매핑을 관리하여 전화번호부와 유사한 기능을 합니다. DNS 서버는 이름에 대한 요청을 IP주소로 변환하여 최종 사용자가 도메인 이름을 웹 브라웆에 입력할 때 해당 사용자를 어떤 서버에 연결할 것인지를 제어하고 이 요청을 쿼리라고 합니다.
즉, 이 DNS서버를 통해서 www.google.com으로 주소창에서 구글을 접속할 수 있는 것입니다.
Web hosting service, 호스팅이란 홈페이지의 구성파일들(html, css, js 등)이 인터넷에 항상 연결되고, '절대' 꺼지지 않는 호스트 컴퓨터(웹 서버)에 저장되어 있다가 사용자의 요청이 오면 언제든 응답하게끔 하는 것입니다.
ex) AWS ec2/S3, cafe24 호스팅센터 등