본문 바로가기

Linux

WEB 면접 예상 질문) "웹 브라우저에 URL을 입력하면 일어나는 과정"

1. URL 입력

- URL: protocol, domain, path

- URI: domain, path

 

URL vs. URI: URL은 locator로 찾아가기 위한 충분한 정보가 있다. URI은 식별하기 위한 충분한 정보가 있다.

 

2. DNS resolution

domain -> ip

 

- 1. hosts file

- 2. DNS cache

- 3. 질의

-- DNS 서버 주소: 공유기 또는 실제 DNS 서버. DNS 주소는 ISP가 주기도 함.

 

4. TCP 연결

5. TLS handshake

6. HTTPS request

7. HTTPS response

 

1 전에 DHCP (Dynamic Host Configuration Protocol):

- UDP 기반으로 동작

- layer: application

- DORA: discover - offer - request - ack

- 배정: 공용망 (ISP의 DHCP), 사설망 (라우터)

 

GSLB (Global Server Load Balancing):

- DNS 서버의 확장된 개념

- health check

- 최적의 IP를 반환

 

CDN (Cloud Delivery Network):

- 여러 edge 서버를 둠

- GSLB를 활용 (edge 서버를 선택하는데 사용)

- 컨텐츠 캐싱

 

Routing

- 최적의 경로를 찾아서 길을 찾는 개념

 

Routing table

- 최적의 경로를 담아둠

- 특정 IP가 왔을 때 next hop에 대한 mac이 저장 되어있음

 

Router: 프레임 교체가 일어남

- routing table을 참조하여 dst MAC을 next hop의 mac으로 바꿈

- src MAC을 자신의 mac으로 바꿈

 

NAT: 사설망에서 공용망으로 나갈 때 패킷 내 src IP를 바꿔주는 기술. 

- port도 변경 가능

 

Port: TCP header 에는 src port와 dst port가 적혀있게 된다

- application socket: ip + port


웹브라우저 순서

1. DNS resolution

- search 순서: hosts file, DNS cache, query to DNS server

- 결과: IP 획득

 

2. 획득한 IP로 TCP connection

- 과정 중 공유기에 의해 NAT가 보편적으로 일어남

 

3. HTTP request - HTTP response

 

4. 좀 더 자세하게는 GSLB와 CDN에 대한 내용을 추가해서 말씀드릴 수 있습니다.

 

5. GSLB

- health check 까지 겸임하여 failover 및 무중단 배포를 지원합니다.

 

6. CDN

- 서비