📌 웹 통신의 큰 흐름
✅ 브라우저
-
우리가 위처럼처럼 네이버를 검색하게 되면 브라우저는 일단 해당 URL의 구조를 분석합니다.
-
분석한 의미에 따라 Http request 메시지를 만든다.
-
브라우저는 os를 통해 url을 IP로 변경하게 되는데 과정은 아래와 같다.
- 자신의 로컬 hosts 파일과 브라우저 캐시에 해당 URL이 존재하는지 확인.
- 존재하지 않는다면 해당 url을 DNS를 통해 컴퓨터가 읽을 수 있는 IP로 변경.
※ 브라우저 캐시: 해당 사이트를 다시 접속할때 로딩 속도를 높여주기 위해 캐시로 남김
✅ 프로토콜 스택, LAN 어댑터
- 프로토콜 스택(운영체제에 내장된 네트워크 제어용 소프트웨어)이 브라우저로부터 메시지를 받는다.
- 브라우저로부터 받은 메시지를 패킷 속에 저장한다.
- 수신처 주소 등의 제어정보(트래픽, 경로)를 덧붙인다.
- 패킷을 LAN 어댑터에 넘긴다.
- LAN 어댑터는 다음 Hop의 MAC주소를 붙인 프레임을 전기신호로 변환시킨다.
- 신호를 LAN 케이블에 송출시킨다.
※ Hop: 컴퓨터 네트워크에서 출발지와 목적지 사이에 위치한 경로의 한 부분
✅ 허브, 스위치, 라우터
- LAN 어댑터가 송신한 프레임은 스위칭 허브를 경유하여 인터넷 접속용 라우터에 도착한다.
- 라우터는 패킷을 프로바이더(통신사)에게 전달한다.
- 인터넷으로 접속하게 된다.
✅ 액세스 회선, 프로바이더
- 패킷은 인터넷의 입구에 있는 액세스 회선(통신 회선)에 의해 POP(Point Of Presence, 통신사용 라우터)까지 운반된다.
- POP 를 거쳐 인터넷의 핵심부로 들어가게 된다.
- 수 많은 고속 라우터들 사이로 패킷이 목적지를 향해 흘러가게 된다.
✅ 방화벽, 캐시서버
- 패킷은 인터넷 핵심부를 통과하여 웹 서버측의 LAN 에 도착.
- 기다리고 있던 방화벽이 도착한 패킷을 검사.
- 패킷이 웹 서버까지 가야하는지 가지 않아도 되는지를 판단하는 캐시서버가 존재한다.
✅ 웹 서버
- 패킷이 물리적인 웹 서버에 도착하면 웹 서버의 프로토콜 스택은 패킷을 추출하여 메시지를 복원하고 WAS에 넘긴다.
- 메시지를 받은 웹 서버 애플리케이션은 요청 메시지에 따른 데이터를 응답 메시지에 넣어 클라이언트로 회송한다.
- 왔던 방식대로 응답 메시지가 클라이언트에게 전달된다.
🧩 Reference