웹브라우저에 URL을 입력하면 일어나는 일 - 2

허정·2022년 6월 12일
0

1. Browser에 주소를 입력

일단 브라우저를 뭐를 쓰든 간에, PC라는 운영체제에 따라 다릅니다.

(1) URL

  • 위치 지정자
  • Domain name
  • 이름이 www이고, naver.com 도메인에 속해 있는 이름이 www인 컴퓨터의 인터넷 망에서 통신하려면, 기본적으로 Naver의 IP 주소를 알아야 합니다.
  • 그래서 1차적으로 DNS에 질의를 하게 되어있습니다.
  • DNS는 분산형 DB 구조를 갖고 있습니다.
  • DNS로부터 response가 오면 naver.com에 해당하는 IP 주소를 획득한 것입니다.
  • 그런데 가장 먼저 DNS에 질의를 하는 것이 아닙니다. 1번째로 컴퓨터마다 hosts 파일이 있습니다. 여기를 먼저 뒤지게 됩니다.
  • 2번째로 DNS에 질의를 하면, 해당 운영체제가(이미지에서 PC) DNS의 응답을 Cache 합니다. 그 캐시 결과를 보고 DNS에게 안 물어봅니다. 여기서 expire(duration)이 중요합니다.
  • 캐시 결과를 뒤졌을 때도 없다면, 3번째로 DNS에 질의를 하는 것입니다. 그런데 여기서 또 나뉩니다.
    1. 집의 PC라면, 공유기가 있을거고, PC의 네트워크 설정이 있을 것입니다. 그 설정에 따라서 DNS에 질의를 합니다. 그런데, 공유기를 쓸 경우 DNS가 공유기로 지정되어 있을 수도 있습니다.
  • 예를 들어 사설 IP 192.168.0.1 로 공유기가 지정되어 있다면, 공유기가 DNS 포워딩 기능을 해서, DNS에게 물어보고, 응답을 받아서 다시 PC에게 전달하는 구조가 될 수 있습니다.
    1. 설정 자체에서 DNS를 뭔가를 안 했다면, ISP에서 전달해준 DNS 설정을 쓰게 되어있습니다. 그래서 DNS에게 직접 질의를 하는 경우입니다. - 위의 과정들을 거쳐서 4번째로 IP 주소를 획득하게 됩니다.
  • 5번째로 PC에서 Server 쪽으로 IP주소를 갖고, TCP 연결을 합니다. 왜냐면 브라우저를 쓴다고 하니까 HTTP 통신을 할 거라서, HTTP 통신은 TCP 연결을 기반으로 합니다.
  • 6번째로 TCP 연결이 Success하면, 이 때 HTTP Request가 나갈 것입니다.
  • 7번째로 HTTP Response가 옵니다.
  • 여기서부터는 추가적인 답변입니다. naver.com이나 google.com 정도의 회사라면 GSLB를 하게 되어있습니다.
  • 여기서 또 딸려오는 서비스가 있는데, CDN 서비스입니다. (Contents Delivery Network Service). GSLB나 CDN 중 하나를 이용하는 것입니다.
  • CDN 서비스를 이용하는 이유를 알아야합니다.
  • 주소에 해당하는 이름은 우리가 접속했을 때 가장 원활한 주소로 나옵니다. 주소가 그때 그때 달라질 수 있다는 것을 알아야합니다.
  • CDN 쪽에서 접속자의 IP를 보고, 자신이 갖고 있는 DB에서 해당 IP를 보고 위치를 파악합니다. 만약 서울에 있는 사용자라는 것을 확인했다면, Naver 서버 N개 중에서 해당 IP에서 가장 원활하게 접속할 수 있는 서버 IP 주소를 알려주는 것입니다.

(2) URI

  • 식별자
  • URL과의 차이점은?

0개의 댓글