이 기사를 클릭했기 때문에 지금 이 웹 페이지가 화면에 나타난 것, 너무 특별할 것 없는 당연한 일이다. 하지만, 그렇다고 해서 이 모든 것이 마법처럼 뚝딱 일어나고 있는 것은 아니다.
지금 보고 있는 웹 페이지도 사용자의 컴퓨터에 저장되어 가지고 있던 것이 아니며, 누군가가 만들어서 클릭한 사용자에게 보내주고 있는 것이다. 과연 내가 웹페이지에 접속했을 때, 어디서 온 무엇을 보고 있는 것인지 그 과정과 기초적인 용어에 대해서 알아보자.
1. 서버, 클라이언트
코딩월드뉴스 기사를 보려면, 코딩월드뉴스 웹 페이지에 대한 정보를 가지고 있어야 한다. 코딩월드뉴스에 웹 페이지를 달라고 요구하면, 코딩월드뉴스는 그것을 가지고 있다가 제공해줘야 한다.
이때, 웹 페이지를 달라고 하는 우리를 '클라이언트', 정보를 제공하는 역할의 장치를 '서버'라고 한다. 웹 페이지를 디자인해서 제작하고 나면, 웹 페이지 파일을 서버에 올려놓는다.
2. 웹 브라우저
구글 크롬, 사파리, 인터넷 익스플로러 등의 프로그램을 웹 브라우저라고 한다. 웹 브라우저는 주소를 입력해 원하는 웹사이트에 들어갈 수 있게 해준다.
'https://www.cwn.kr/article/coding'에서 'https://www.cwn.kr'는 코딩월드뉴스의 서버 주소이다. 그리고, '/article/coding'은 해당 서버의 article 폴더 안, 코딩 폴더에 내가 원하는 웹페이지 파일이 있다는 것을 의미한다. 위 주소를 입력하고 엔터를 치면, 해당 서버에 웹 페이지를 달라고 요청하는 과정이 시작된다.
3. 프로토콜
우리가 글을 주고받을 때 한글이라는 약속된 기호를 사용하듯이 컴퓨터에서도 통신에는 약속이 필요하다. 이 약속을 프로토콜이라고 한다.
앞서 봤던 주소 가장 처음에 있는 'https://' 이 부분은 어떤 프로토콜을 사용할 것인가를 이야기한다. 여기서는 웹 페이지를 달라고 요청하는 메세지를 HTTP 프로토콜에 맞게 포장한 것이다.
그 후에 포장한 메시지 위로 각자 역할이 다른 몇겹의 포장을 더 거쳐 연결된 인터넷망으로 보낸다. 인터넷망에는 수많은 '물류센터'가 존재하는데, 각 물류센터에서는 메시지의 포장을 보고 어디로 보낼지 결정한다. 그렇게 내가 보낸 메시지는 웹 페이지가 저장된 서버에 가까워진다.
4. 오류 검사
드디어 'https://www.cwn.kr/article/coding' 웹 페이지를 보내 달라는 메시지가 코딩월드뉴스 서버에 도착했다! 서버는 메세지 도착과 동시에 포장을 하나하나 뜯어보며 이상이 있는지 없는지, 혹시나 오다가 손실된 부분은 없는지 확인한다. 포장을 모두 뜯고 나서 '아 이 페이지를 달라는 거구나' 확인하면, 해당하는 웹 페이지를 파일로 전송해준다. 이때도 역시 포장을 거치고 물류센터를 거쳐 찾아가게 된다.
코딩월드뉴스 서버로부터 답장을 전송받으면, 포장을 전부 뜯어 웹 페이지 파일을 웹 브라우저에 준다. 웹 브라우저는 코드로 되어 있는 이 파일을 해석해서 화면으로 보여준다. 이 모든 과정이 주소창을 누르거나 링크를 눌렀을 때, 저 멀리 떨어진 곳에 요청을 보내고 파일을 받아서 웹 페이지를 보여주기까지 몇 초도 안 되는 순간에 일어나는 일이다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]