하루는 면접을 보는 와중에 면접관이 다음과 같은 질문을 했었다.
"웹페이지가 보여지는 과정에 대해서 설명해주세요."
이 질문에 대해서 정확하게 대답하지 못했기에 이번 포스트를 작성해본다.
핵심 키워드 : 도메인네임, DNS서버, HTTP, TCP, IP주소
사용자가 브라우저에 주소를 입력한다.
웹 브라우저는 DNS서버에서 해당 도메인네임의 IP주소를 받아온다.
웹 브라우저는 DNS서버로부터 받아온 IP주소를 통해서 데이터를 주고받아야 하는데 완전한 데이터의 전송을 보장하기 위해서 직접 데이터를 보내기 이전에 세션을 수립하는 TCP 3way-handshake를 진행한다.(socket을 엶)
3을 통해서 전송보장이 되었기 때문에 웹 브라우저는 서버에게 데이터 요청을 하기 위해서 http request를 보낸다.
서버는 요청에 대한 응답을 하기 위해서 http response를 보낸다.
웹 브라우저는 서버로 부터 받은 데이터를 가지고 html/css를 해석한다.(parsing)
화면을 사용자에게 보여준다.