티스토리 뷰

1. 브라우저 주소창에 www.naver.com을 입력

 

2. 캐시탐색

DNS를 이용해 호스트네임(naver.com)의 서버로 접근하기 위한  IP주소를 얻을 수 있다. 그 전에 클라이언트 측에 저장된 캐시를 탐색한다. 만약 캐시에 IP 정보가 있다면 DNS로 요청을 하지 않아도 되므로 로딩속도 향상을 기대할 수 있다.

캐시 탐색은 (브라우저 캐시 → OS 캐시 → 라우터캐시 → ISP캐시) 순으로 순차적으로 이루어진다.

  • 브라우저 캐시: 이미 방문한 웹 페이지의 데이터를 저장한 캐시이다. 캐시가 존재하면 서버로부터 데이터를 다운로드하지 않고 바로 표시할 수 있다.
  • OS 캐시: 운영체제 수준에서 캐시가 구성되어 있는 캐시이다.
  • 라우터 캐시: 라우터(공유기)에 저장된 캐시로 DNS 정보 및 웹 페이지 데이터의 일부가 캐시될 수 있다.
  • ISP 캐시: 사용자의 인터넷 서비스 제공업체(ISP)에서도 DNS 정보 및 웹 페이지 데이터를 캐시로 저장할 수 있다.

- 캐시와 조건부 요청에 관한 글

 

3. DNS에 IP 주소 요청

(캐시를 이용할 수 없다면) 로컬 DNS 서버로 요청을 보낸다. 로컬 DNS서버는 루트, TLD, 책임 DNS 서버 등을 거쳐 클라이언트에게 서버의 IP주소를 응답해준다. 

 

- DNS(Domain Name System)의 구조와 동작 원리 참조

 

4. TCP/IP 연결 (3-way handshaking)

데이터 전송 전 클라이언트-서버 간의 연결이 이루어진다. 

 

5. Request(요청)

클라이언트와 서버간 연결이 완료되면 클라이언트는 서버로 요청을 보낸다. 클라이언트는 요청이 손실, 변조 되거나 누군가 보는 것을 방지하기 위해 HTTPS/TLS를 이용해 요청을 암호화 한다.

 

6. 로드밸런싱

대규모 시스템의 경우 다수의 서버를 두고 운영할 수 있다. 현재 서버들의 트래픽, 클라이언트의 위치(서울, 부산, 도쿄 등) 등을 고려하여 운영 중인 서버 중 클라이언트의 요청을 처리하기 가장 적합한 서버를 찾아 요청을 전달한다.

 

7. Response(응답)

클라이언트의 요청을 분석하여 필요한 파일, DB정보를 응답 메세지에 담아 HTTP 상태 코드와 함께 Response해준다. 

 

- HTTP 상태코드에 관한 글

 

8. 브라우저 렌더링

브라우저는 서버로 부터 받은 HTML을 이용해 렌더링을한다. 브라우저는 빠르게 응답하기 위해 서버로부터 데이터를 모두 받기 전에도 렌더링을 시작하며 필요한 이미지나 파일이 있을 경우 추가로 요청을 할 수 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함