ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 웹 브라우저에 URL을 입력하면 일어나는 일
    개발 2022. 9. 4. 21:05

     

    URL (리소스 위치)

    URL은 흔히 웹 주소라고도 하며, 컴퓨터 네트워크 상에서 리소스가 어디 있는지 알려주기 위한 규약이다.

    URI의 서브넷이다.

     

    URI (리소스 식별자)

    URI는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)를 의미한다.

    웹 기술에서 사용하는 논리적인 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스다.

     

    TCP (Transmission Control Protocol)

    네트워크 전송계층 중 프로토콜에 대한 내용, 한 줄로 요약하자면

    "인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜"

    연결형 서비스를 지원하기때문에 신뢰성을 보장하고 3-way handshaking 을 통해 연결을 설정한다.

    전송 할 수 있는 데이터의 크기가 무제한인데, 패킷으로 쪼개어 전송한다.

     

    UDP (User Datagram Protocol)

    "데이터를 데이터그램 단위로 처리하는 프로토콜"

    UDP는 비연결형 서비스 이기에 연결을 설정하고 해제하는 과정이 없다.

    서로 다른 경로로 독립적으로 처리해 패킷에 순서를 부여하거나 재조립하여 흐름제어, 혼잡제어 과정이 없기때문에 TCP보다 따르고 네트워크 부하가 적다. 하지만 신뢰정을 TCP에 비해 떨어진다.

    보통 실시간 서비스에 사용된다.

     

    GSLB (Global Server Load Balancing)

    DNS 서비스의 발전된 형태

    주요 기능으로는

     

    Health Check

    등록된 호스트들에 대해서 주기적인 Health check 요청을 통해서 Health check가 실패한 서버는 DNS 응답에서 해당 서버를 제외시킨다. 때문에 클라이언트 요청 실패로 인한 장애 방지가 가능하고 사용자로 하여금 서비스 실패 확률을 낮출수 있다.

     

    네트워크 거리 & 지역

    주기적으로 성능을 측정하고 그 결과를 저장하기 때문에 DNS 요청이 오면 지리적으로 가까운 서버를 반환하거나 네트워크 거리가 가까운 서버를 반환한다.

     

     


    최소 상식 버전

    브라우저를 통해서 www.naver.com 을 입력

    실제 Naver 서버의 ip를 알기위해서 DNS 에 질의

    DNS로 부터 받은 응답을 통해 ip 를 얻었다면

    우리의 PC에서 Naver 서버로 TCP 연결을 한다.

    연결이 되었다면 HTTP Request 를 보내고

    그에따른 HTTP Response 를 받게된다.

     

    전달받은 리소스가 HTML 이라면 브라우저에서 렌더러 프로세서를 통해 파싱을 시작한다.

    이때 DOM 트리하고 별도의 스타일링이 없다면 브라우저 기본 스타일을 포함, 그렇지 않을 경우 스타일 코드를 파싱하여  CSSOM 트리를 생성한다.

     

    DOM 트리와 CSSOM 트리를 결합한 렌더 트리를 형성한다.

    렌더 트리는 화면에 표시되는 모든 노드와 노드의 스타일 정보를 포함한다.

     

    이후 렌더 트리를 화면에 표시하기 위해 요소의 크이와 위치 정보, 레이어간의 순서 정보를 계산하는

    Layout(reflow) 단계를 거친다.

     

    Layout 단계를 통해 배치된 요소들의 Paint(repaint) 단계를 통해서 색을 입히고 레이어의 위치를 결정한다.

     


    경력자 버전

    GSLB / CDN

     

    . . .

    우리의 PC에서 Naver 서버로 연결을 시도 할때

    Naver의 본 서버로 직접 연결이 되는 것이 아니라 보통은 CDN 서비스를 통한 Edge 서버를 통해 연결이 되는데

    이때 서버의 장애나 연결 실패 확률을 줄이고 안정적인 서비스를 제공하기 위해 GSLB를 통해 사용자의 연결 안정성을 확보한다.

    GSLB는 주기적인 Health Check를 통해서 DNS 상태를 모니터링하고 이를 통해서 접속을 시도하는 유저의 IP를 통해서 정상적인

    연결을 도와준다. 

    . . .

    댓글

onul-hoi front-end developer limchansoo