본문 바로가기
CS/BackEnd

[CS지식] www.naver.com을 입력해서 화면이 나타나기까지의 과정은 어떻게 되나요?

by Diligejy 2022. 4. 22.

https://www.youtube.com/watch?v=ZjA4sb2tLSU 

정답

대기열, 캐싱, DNS, ARP, 라우팅, 초기연결, 비캡슐화, 캡슐화 과정을 거쳐 컨텐츠를 다운받게 되고 이후 브라우저 렌더링 과정을 거쳐 네이버라는 화면이 나타나게 됩니다.

 

1. 대기열

 

2. 캐싱 

캐싱은 요청된 값의 결과값을 저장하고 그 값을 다시 요청하면 다시 제공하는 기술입니다. 

캐시는 공유프록시캐시와 브라우저 캐시 두 가지로 나눠집니다.

 

2-1. 브라우저 캐시

브라우저 캐시는 쿠키, 로컬스토리지 등을 포함한 캐시입니다. 브라우저 자체가 사용자가 HTTP를 통해 다운로드 하는 모든 문서를 보유하는 것을 말합니다. 

ex) 사이트 갔다가 다시 방문하면 컨텐츠가 빨리 나오는 경우. 

 

2-2. 공유 프록시 캐시

공유 프록시 캐시는 요청한 서버에서 프록시서버가 캐싱을 하는 것을 말함. ex - django로 서버 구축시 앞단의 프록시 서버로 nginx서버를 둬서 이 서버를 캐싱 서버로도 사용할 수 있는 것.

 

3. DNS조회

브라우저가 요청한 IP 주소를 확인하는 단계

 

DNS서버는 도메인 이름과 IP 주소를 매핑해주는 서버입니다. ex - www.google.com에 DNS쿼리가 오면 [Root DNS] -> [.com DNS] -> [.google DNS] -> [.www DNS] 과정을 거쳐 완벽한 주소를 찾아 IP 주소를 매핑합니다.

 

참고로 바로 DNS서버로 요청을 전달하는 것은 아니고 먼저 컴퓨터 메모리에 있는 호스트 파일 등 캐시를 확인한 후 캐시미스가 일어나면 DNS서버로 요청합니다.

 

DNS의 장점

-> IP주소가 바뀌어도 사용자들에게 똑같은 도메인 주소로 서비스할 수 있음.

 

루프백IP

-> 127.0.0.1 이란 루프백IP로 본인 PC의 IP를 의미.

 

4. 라우팅

 

댓글