새소식

Tech Interview/Interview

5. 질문 (웹 브라우저에 URL 전체 동작과정)

  • -

[가정]
PC : window

NAT : 공유기

 

브라우저에 URL 입력하면 -> 운영체제에 따라 다름(window라고 가정) -> 만약 www.naver.com  검색을 한다면, naver.com의 IP를 알아야 함 ->

 

: 이때 DNS에 질의를 하게 되면 IP를 획득하지만, 항상 DNS에 물어보지는 않음.

 

(1) 컴퓨터가 가지고 있는 hosts 파일을 확인

(2) 그전에 DNS 질의했다면, 컴퓨터가 이 응답을 캐싱합니다. 그래서 캐시 결과를 보고 DNS에게 물어볼 필요가 없다면 질의X

(3) 위에도 없다면 DNS에 질의를 하는데, 여기서 다시 나뉨.

 

[ 1 ] 만약 공유기를 사용하고, 컴퓨터의 DNS 설정이 공유기로 되어있다면 공유기가 DNS에 질의 후 응답을 받아 컴퓨터에 넘길 수 있음.

[ 2 ] 만약 DNS 설정을 따로 하지 않았다면, ISP에서 전달해준 DNS 설정을 사용합니다. 그래서 DNS에 직접 질의를 할 수 있습니다.

 

(4) 위 과정을 거쳐 IP 주소를 획득하게 됩니다. (5) 해당 IP 주소로 TCP 통신을 통해 접속을 합니다. 왜냐하면 브라우저를 사용하기 때문에 HTTP 통신을 할 것이고, HTTP는 TCP 연결을 기반으로 하기 때문입니다.

 

(6) 여기서 TCP 연결이 성공하면 HTTP Request가 전송되고, (7) 이에 해당하는 Response가 돌아옵니다.

 

[ 위 까지 기본 정리 ]

 =======================================================================================

 

더불어 GSLB, CDN에 대해 알면 좋음.

DNS서버는 서버 IP주소를 매핑 시켜줄때, 단순 라운드 로빈으로 매핑 시켜주지만,

GSLB는 사용자의 IP주소를 보고 위치기반으로 가장 응답성이 높고, 정상 운영중인 서버로 매핑 시켜줄 수 있다.

 

 

GSLB (Global Server Load Balancing)

DNS서버에 의해 응답으로 오는 IP주소는 달라질 수 있음.

이는 네이버 같은 경우만 해도 전세계에 서버가 N대가 존재하기에 여러 IP를 가질 수 있고, 요청 측 IP주소와 거리가 가깝거나, 속도가 더 빠를 수 있는 IP를 주기위해 사용하는 개념. Health Check를 통해 N개의 서버에 대한 상태를 기록할 수 있어서 사용할 수 있는 개념.

 

CDN (Content Delivery Network)

접속자의 IP와 위치 기반 가까운 곳에서 질의를 전송하므로써 전송 속도를 높이는 개념. (지연시간 감소) 정적 파일 복사본을 캐싱해놓고 있어서 바로바로 응답이 가능함. CDN은 지리적으로 분산된 여러개의 서버이다. CDN은 GSLB의 GeoIP를 통해, 지리적 분산 처리를 한다

사용자가 CDN 서버에 요청을 했는데 캐시에 없다면 원본 서버로부터 응답을 받아 사용자에게 IP 전송.

해당 응답을 유효기간과 함께 캐싱.

유효기간 만료 시 캐시에서 제거.

( CDN 기술을 제공하는 대표적인 업체로는 Akamai, KT 등이 있음. )

 

 CDN을 사용하는 주요 이유는 대기 시간이 짧고 애플리케이션이 호스팅되는 데이터 센터와 관련하여 지리적 위치에 관계 없이 사용자에게 콘텐츠를 빠르게 제공할 수 있다는 점입니다.

 

 

용어정리

URL : Resource의 정확한 위치 정보를 나타냅니다. 

URI : Resource 위치뿐만 아니라 자원에 대한 고유 식별자로서 URL 의미를 포함한다.

ex) https://tistory.com/category (URL) vs https://tistory.com/category/12 (URI) /12식별자이므로 URL을 포함한 URI

 

NAT: 네트워크의 말단에 설치된 라우터에 내장되어, 내부 네트워크에 연결된 PC나 네트워크의 장비들이 사설 IP를 가지고 외부의 네트워크에 접속할 수 있도록 하기 때문에 라우터의 한 기능이라고도 할 수 있다.

 

ISP : Internet service provider(kt, lg, sk)

 

www : world wide web의 줄임말로, 인터넷에서 사용되는 표준 문서 시스템. HTML언어를 사용한다.

 

web browser : 웹 브라우저를 통해 Web Page를 읽을 수 있음. chrome, whale 등 있음.

 

DNS : 분산형 DB

'Tech Interview > Interview' 카테고리의 다른 글

4. 질문 (Middleware)  (0) 2023.12.06
3. 질문 (Proxy & SpringBoot)  (1) 2023.11.30
1. JPA 소개 & 영속성 관리  (1) 2023.11.30
2. 질문  (0) 2023.11.27
1. 질문  (0) 2022.07.20
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.