웹 브라우저에 을 입력만한다면 어떤 이벤트들이 발생하는지 쉽게 알아보자 2편 CDN, GSLB 내용

웹 브라우저에 을 입력만한다면 어떤 이벤트들이 발생하는지 쉽게알아봅시다 2편 CDN, GSLB 내용

백엔드 신입 면접 질문 중 너무 단골 질문입니다. 나도 몇 번 받은 질문이지만, 시각적으로 슥 읽어보며 공부할 때는 다. 알 것 같으면서 막상 면접 때 해당 질문을 받으면 제대로 대답을 하지 할 수 없는 경우가 꽤 있었습니다. 이번 기회에 너무 조져보려고 합니다. 이전에 작성했던 을 읽고 오면 실력이 더욱 쉬우며, 이번 글은 아래 블로그들의 내용을 기반으로 작성했다. – – – – – – – 1. 웹 브라우저에 요구하는 도메인을 입력합니다.

DNS Server에 해당 도메인에 매핑되는 IP 주소를 요청합니다.

접속하려는 도메인에 해당하는 IP 주소를 알아내기 위해 DNS Server에 Recursive Query를 진행합니다. 최종적으로 DNS Server는 해당 도메인에 매핑되는 웹 서버의 IP 주소를 사용자에게 반환하거나 혹은 찾지 할 수 없는 경우 에러를 발생시킨다. 아래 그림을 보시면 DNS Server는 계층화되어 있다고 해서 도메인의 최상단인 가장 뒷쪽(.com, .kr 등)을 담당하는 DNS Server는 전세계에 13개 뿐이며, 왜 Recursive라는 단어가 붙는지 파악 가능합니다.


3-Browser와 웹 서버 간의 Connection
3-Browser와 웹 서버 간의 Connection

3-Browser와 웹 서버 간의 Connection

PC 프로토콜은 여러 종류가 있지만, 웹 사이트의 HTTP 요청의 경우 일반적으로 TCP를 사용합니다. TCP Connection을 위해 TCP Socket을 개방하고, TCP 3 Way-Handshake라는 일종의 연동 검증 절차를 무사히 성공해야 데이터를 주고 받을 준비가 끝난다. TCP 3 Way-Handshake?진지하게 통신을 하기 전,Client와 Server가 잘 연결이 되었는지 심사숙고하는 과정입니다.

이름처럼 아래와 같은 3단계의 인증 절차를 거친다.

본문
본문

본문

프로그래머는 절차를 이해하는 사람. 코드는 화면, Signal, 보고서 등으로 출력될 수 있어요. 근본적으로 입력 -> 출력절차를 이해해야만 프로그래머입니다. 대기열, 캐싱, DNS, 라우팅, ARP, 초기연결을 거쳐 컨텐츠를 다운받게 되어 이 후 브라우저렌더링 절차를 거쳐 네이버라는 화면이 나타나게 됩니다. 게다가 이런 과정이 캡슐화, 비캡슐화절차를 거쳐서 이뤄지게 됩니다. 대기열? 브라우저는 주소창 입력에 대한 요청을 대기열에 넣는다.

DNS
DNS

DNS

브라우저가 요청의 IP주소를 심사숙고하는 단계입니다. DNS는 웹 주소 이름과 IP 주소를 매핑해주는 서버입니다. 캐시를 확인한 후 캐시미스가 일어나면 DNS 서버로 요청합니다. ⇒ [Root DNS] →[.com DNS]→[.naver DNS] →[.www DNS] DNS의 장점

이를 통하여 IP 주소가 바뀌어도 이용자들에게 같은 웹 주소 주소로 서비스할 수 있어요. 루프백IP

127.0.0.1 루프백 IP이며 본인의 PC를 뜻합니다.

DNS Server 질의 과정

(1) 사용자의 PC는 가장 먼저 지정된 DNS Server에 DNS Query를 송신합니다. (우리나라의 경우 통신사 별로 지정된 DNS Server가 존재) 이때, 이 지정된 DNS Server를 DNS Recursor라고 부른다. 단어 뜻처럼 Recursive Query를 수행하는 녀석입니다. (2) 지정된 DNS Server는 Root Name Server에 www.google.com 을 질의하는데, 이때 Root Name Server라는 녀석은 ”나는 걔 IP 주소같은 건 모르겠고, .com Name Server IP 주소는 알아, 걔 주소 줄게” 하면서 .com Name Server IP 주소를 넘겨줍니다.

3-웹 서버의 HTTP Response 전송

HTTP Response에는 아래 정보가 포함됩니다. – Browser가 요청한 웹 페이지 – Status Code(현재 Response의 상태) – Compression Type(Content-Encoding, 인코딩 방식) – Cache-Control(페이지 캐싱 방법) – (설정할 Cookie가 있다면) Cookie – 홀로 정보량 – etc. 아래 사진은 HTTP Response의 샘플 본입니다.

첫 줄은 Status Code를 의미하는데, 총 5가지의 종류가 존재합니다.

DNS 란?

DNS(Domain Name System) 란 웹 주소 이름(ex. google.com)을 IP 주소로 바꿔주는 역할을 하는 시스템 계층입니다. 이로 인해 우리는 숫자로 되어있는 IP주소를 기억하지 않고 해당 주소의 웹 사이트에 접근할 수 있어요.

관련 FAQ 일관되게 묻는 질문

3Browser와 웹 서버 간의

PC 프로토콜은 여러 종류가 있지만, 웹 사이트의 HTTP 요청의 경우 일반적으로 TCP를 사용합니다.

본문

프로그래머는 절차를 이해하는 사람.

DNS

브라우저가 요청의 IP주소를 심사숙고하는 단계입니다.