우리는 하루에도 수십번씩 새로운 웹 사이트에 들어가, 정보를 열람한다. 그것이 데스크탑이든 스마트폰이든, 우리에게서 '웹(Web)'이란 이미 우리의 삶에서 떼어낼 수 없는 존재임은 분명하다. 그러나 우리가 웹 페이지에서 정보를 열람하기까지 어떤 기술이 숨겨져 있는지, 자세하게 아는 사람은 드물 것이다. 그래서 앞으로 필자는 블로그를 통해, HTTP 통신을 통해 서버와 클라이언트가 정보를 주고 받는 과정에 대해서 설명할 것이다.
ⅰ. 브라우저는 웹 서버에 보내는 메시지를 작성하기 위해 URL을 해독한다.
ⅱ. 브라우저는 OS에 HTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다.
ⅲ. 브라우저는 OS의 프로토콜 스택에 메시지 송신을 의뢰하며,
ⅳ. OS는 데이터의 송/수신 동작을 실행함으로써, 브라우저에게 수신한 정보를 전달한다.
결론부터 이야기하자면 우리(사용자)가 웹 화면에서 정보를 열람할 수 있는 까닭은 해당 정보(예를 들면, html/css/js 등 웹 페이지를 구성하는 다양한 파일 형태로 웹 서버에 보관되어 있고, 이를 웹 브라우저(클라이언트)가 요청을 통해 받아왔기 때문이다.
위와 같은 과정을 통해, 정보를 받아오기 위한 가장 첫번째 단계는 사용자가 웹 브라우저를 키고, URL을 URL 창에 입력하는 것이다. 오늘은 먼저, URL이 무엇인지 짚고 넘어가자.
URL이 무엇인지 간략하게 설명하면, 우리가 주소를 알아야 원하는 장소에 갈 수 있는 것처럼 인터넷 상에선 URL 알고 있기 때문에, 우리가 원하는 정보를 열람할 수 있는 것이다.
URL이란 인터넷 상의 정보 주소라고 보면 된다.
URL의 구성요소
1. 프로토콜
모두들 알다시피, http://는 인터넷에서 사용되는 프로토콜을 말한다. 하지만 사실 URL에는 http: 뿐 아니라 ftp:나 file: 등도 올 수 있다. 종류가 다양한 까닭은 브라우저에는 다양한 기능이 내장되어 있기 때문이다. 액세스 대상이 웹 서버라면 HTPP 프로토콜을 사용하여 액세스하고 FTP 서버라면 FTP라는 프로토콜을 사용하는 것이다. 따라서 URL의 첫 단에는 액세스할 때의 프로토콜 종류가 쓰여있다고 보면 된다.
2. 호스트 이름
opentutorials는 호스트 이름, 즉 우리가 방문하려는 사이트를 가리키는 웹 서버의 이름를 말한다. 사실 여기에는 IP 주소가 담겨져 있지만, DNS라는 기술을 사용하여(이에 대해선 추후에 다뤄보도록 하자), DNS 서버측에서 사용자의 브라우저에 '닉네임'처럼 쉽게 나타낸 것이다. 마지막으로 org는 도메인 네임을 가리킨다.
3. 도메인 이름 (+등등)
.com, .net, .org와 같은 주소들이 도메인명에 속한다. 이를 관리하는 다양한 민간업체들이 존재한다. 이에 대한 설명은 부가적인 내용이므로, 아래에 관련 설명을 담은 영상 링크를 담아 놓겠다.
사실 이 외에도 다양한 내용이 있지만, URL을 구성하는 중요 요소들만 언급하면 이와 같다. HTTP 통신과정을 이해하기 위해, 꼭 이 구성요소들을 깊게 이해할 필요는 없지만 통신과정에서 어떤 역할을 하는지는 알아야 할 것이다. 이제 URL에 대해서 알았으니, 다음 게시물에선 브라우저 상에서 URL을 해석하는 과정에 대해 알아보자.
내용 출처
'CS > Network' 카테고리의 다른 글
(TIR+4) ③ 브라우저는 OS의 프로토콜 스택에 메시지 송신을 의뢰한다 (0) | 2020.11.18 |
---|---|
(TIR+3) ② OS에 HTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다 (0) | 2020.11.16 |
(TIR+1) 그림으로 배우는 HTTP & Network (0) | 2020.09.02 |
[웹 기본지식] 구글 개발자 도구를 통해 알아보는 기초 HTTP 지식 (0) | 2020.08.11 |
댓글