티스토리 뷰
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해준다.
8. 브라우저 렌더링
브라우저는 서버로 부터 받은 HTML을 이용해 렌더링을한다. 브라우저는 빠르게 응답하기 위해 서버로부터 데이터를 모두 받기 전에도 렌더링을 시작하며 필요한 이미지나 파일이 있을 경우 추가로 요청을 할 수 있다.
'Computer Science > Network' 카테고리의 다른 글
[네트워크] DNS(Domain Name System)의 구조와 동작 원리 (0) | 2022.11.18 |
---|---|
모든 개발자를 위한 HTTP 웹 기본 지식 - HTTP 헤더2 : 캐시와 조건부 요청 (0) | 2022.10.24 |
모든 개발자를 위한 HTTP 웹 기본 지식 - HTTP 헤더1(일반헤더) (0) | 2022.10.03 |
모든 개발자를 위한 HTTP 웹 기본 지식 - HTTP 상태코드 (0) | 2022.09.26 |
모든 개발자를 위한 HTTP 웹 기본 지식 - HTTP 메소드 활용 (0) | 2022.09.19 |
- Total
- Today
- Yesterday
- Java
- JVM
- 데이터베이스
- C
- 프로그래머스
- C++
- 스프링부트
- 이클립스
- Thymeleaf
- SQL
- 환경설정
- 네트워크
- 인턴
- 스프링
- JSP
- svn
- 부트스트랩
- CS
- Open API
- 오라클
- CSS
- HeidiSQL
- 오류
- 백준
- 개발용어
- 국비교육
- 넥사크로
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |