CS/Network

(TIR+3) ② OS에 HTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다

Joonfluence 2020. 11. 16.

 

 지난 시간에는 URL에 관하여 알아보았다. 이번 시간에는 브라우저가 URL을 해독하는 방법에 관하여 알아보도록 하자. 

 

ⅰ. 브라우저는 웹 서버에 보내는 메시지를 작성하기 위해 URL을 해독한다.
ⅱ. 브라우저는 OS에 HTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다. 
ⅲ. 브라우저는 OS의 프로토콜 스택에 메시지 송신을 의뢰하며, 
ⅳ. OS는 데이터의 송/수신 동작을 실행함으로써, 브라우저에게 수신한 정보를 전달한다. 

 

 그리고 URL을 통해 원하는 웹 사이트의 정보를 열람할 수 있는 까닭은 다음과 같다고 이야기했다. 

 웹 클라이언트인 웹 브라우저는 웹 서버로부터 정보(html, css, javascript 파일들)를 받아와, 화면에 해당 정보들을 표시해준다. 이 때 사용되는 네트워크가 HTTP이며, HTTP는 TCP/IP에 속하는 네트워크이다. 프로토콜은 일종의 규약이라고 보면 되며, 이는 데이터를 전송하고 받는 과정에서의 약속이자, 일종의 양식에 해당한다. 

 

 그렇다면 웹 브라우저는 어떻게 웹 서버에 정보를 요청할 수 있었을까? 그 사실을 알기 위해선, 웹 서버와 웹 클라이언트(웹 브라우저) 소프트웨어 간의 상호작용에 관하여 알아보아야 한다. 

 

 웹 브라우저는 URL을 보고 웹 서버에 HTTP 리퀘스트 메시지를 보낸다. HTTP는 웹에서 활용되는 프로토콜을 말하며, 프로토콜은 위에서도 이야기했듯 통신규약, 즉 상호 통신을 위한 양식이자 약속이다. HTTP 리퀘스트 메세지는 서버 측에 정보를 요청할 때 활용되는 것이다. 해당 정보는 다음과 같이, 나타나는데 이와 관련하여는 이전 블로그 포스팅에서 다룬 바 있다.

 

Request URL : 어떤 정보를 가져올 것인가. 

Request Method : 어떤 방식으로 정보를 가져올 것인가. Get인가 Post인가 아니면 다른 방식인가. 

Status Code : 네트워크 통신이 잘 되었는가. 잘 됐으면 200번대이다. 

 

 HTTP의 메시지를 만들면 브라우저는 이를 OS에 의뢰하여 액세스 대상의 웹 서버에게 송신한다. 왜냐면 브라우저는 메시지를 네트워크에 송출하는 기능은 없기 때문이다. 브라우저는 OSHTTP 메시지를 송신하기 위해 웹 서버의 IP 주소를 DNS 서버에 조회한다

 

 DNS 서버에 조회한다는 것은 DNS 서버에 조회 메세지를 보내고 거기에서 반송되는 응답 메시지를 받는 것을 의미한다. 이는 '리졸버'가 OS에 있는 프로토콜 스택을 호출함으로써 Request 메세지가 DNS 서버로 송신되었기 때문이며, DNS 서버는 해당 URL에 맞는 IP주소를 회신한다. (간략한 설명을 위하여, 조회 메시지를 받은 DNS 서버에 이름과 IP 주소가 등록되었다는 가정하자)

 

내용 출처

 

성공과 실패를 결정하는 1%의 네트워크 원리

 

반응형

댓글