[CS] web - 주소창 검색 이후 과정


주소창에 naver.com을 검색을 때 일어나는 일

대기열, 캐싱, DNS, 라우팅, ARP, 초기연결을 거쳐 컨텐츠를 다운받게 되고 이후 브라우저렌더링 과정을 거쳐 네이버라는 화면이 나타나게 된다. 또한 이러한 과정이 비캡슐화, 캡슐화과정을 거쳐 이뤄진다. ex) 브라우저 주소창에 www.naver.com 검색

  1. 브라우저는 주소창 입력에 대한 요청을 대기열에 넣는다.
    1. 이때 HTTP/1.0 및 HTTP/1.1의 경우 오리진당 6개의 병렬적인 TCP연결만을 허용하며 HTTP/2의 경우 스트림 등을 통해 HTTP1.x의 헤드라인차단 등을 해결
  2. 캐싱: 요청된 값의 결과값을 저장하고 그 값을 다시 요청하면 다시 제공하는 기술
    1. 공유프록시 캐시: 요청한 서버에서 프록시서버가 캐싱을 하는 것. (Node.js로 서버 구축 시 앞단의 프록시서버로 nginx서버를 캐싱서버로 사용)
    2. 브라우저 캐시: 쿠키로, 로컬스토리지 등을 포함한 캐시, 브라우저 자체가 사용자가 HTTP를 통해 다운로드하는 모든 문서를 보유하는 것.
  3. DNS: 도메인 이름과 요청의 IP주소를 매핑.
    1. www.naver.com에 DNS쿼리가 오면 [Root DNS] -> [.com DNS] -> [.naver DNS] -> [www. DNS] 과정을 거쳐 완벽한 주소를 찾아 IP 매핑
    2. 바로 DNS로 요청을 전달하지 않고 메모리에 있는 호스트 파일 등 캐시를 확인한 후 캐시미스가 일어나면 DNS로 요청
  4. 라우팅(hop by hop통신): IP주소를 찾아가는 과정으로, DNS에서 받은 IP주소를 기반으로 해당 목적지까지 라우팅 테이블, 서브네트워크 등을 고쳐 IP주소를 찾아가야 함
    1. 라우팅 테이블: 송신지에서 수신지까지 도달하기 위해 사용, 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어있는 리스트.
      1. 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있음
    2. 게이트웨이: 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 SW
  5. 찾은 IP주소를 바탕으로 ARP를 통해 물리적인 서버 주소를 찾는다.
    1. ARP: Address Resolution Protocol) IP주소로부터 MAC주소를 구하는 IP와 MAC주소의 다리 역할을 하는 프로토콜
    2. RARP: 실제 주소인 MAC주소를 가상 주소인 IP주소로 변환
      1. ARP Request 브로드캐스트로 IP주소에 해당하는 MAC주소 요청
      2. 해당 장치가 ARP Reply 유니캐스트를 통해 MAC주소 반환
  6. Naver 서버에 도달. 초기 연결
    1. 브라우저가 TCP 3way-handshake 및 SSL 연결 등을 통해 연결 설정하고, 요청을 보낸 후 해당 요청한 서버로부터 응답
  7. 콘텐츠 다운로드: 브라우저는 서버로부터의 응답 수신
  8. 브라우저 렌더링: 받은 콘텐츠로부터 브라우저 렌더링

캡슐화 비캡슐화

요청과 응답의 과정에서 비캡슐화, 캡슐화 과정을 거친다.

캡슐화 과정

-. 상위 계청의 헤더와 데이터를 하위 계층의 데이터 부분에 포함시키고 해당 계층의 헤더를 삽입하는 과정

비캡슐화 과정

-. 하위 계층에서 상위 계층으로 가며 각 계층의 헤더 부분을 제거하는 과정

태그: , ,

카테고리:

업데이트:

댓글남기기