검색창에 Youtube를 치면 일어나는 과정

Lys·2023년 10월 13일
0

네트워크

목록 보기
15/19

1. 사용자가 웹브라우저 검색창에 www.youtube.com을 입력한다.

2. 웹브라우저는 캐싱된 DNS기록들을 통해 해당 도메인 주소와 대응하는 IP주소를 확인한다.

  • 캐시는 네트워크 트랙픽 조절과 데이터 전송 시간을 줄여준다.
  • 브라우저는 4가지 캐시를 확인한다. (Browser캐시 >OS 캐시 (systemcall) > router 캐시 > ISP 캐시)
    • 브라우저 캐시 : 브라우저는 일정기간 동안의 DNS 기록들을 저장하고 있다. DNS query가 이 곳에서 가장 먼저 실행이 된다.
    • OS 캐시 : 브라우저 캐시에 웹사이트 이름의 IP 주소가 발견되지 않았다면, 브라우저는 systemcall을 통해서 OS가 저장하고 있는 DNS 기록들의 캐시에 접근한다
    • router 캐시 : 컴퓨터에 DNS 기록을 찾지 못하면 브라우저는 DNS 기록을 캐싱하고 있는 router와 통신을 해서 찾으려고 한다.
    • ISP 캐시 : ISP는 DNS 서버를 구축하고 있고 브라우저가 마지막으로 DNS 기록이 있기를 바라며 접근하게 된다.
      ISP는 인터넷 서비스 공급자의 약자이다. ex) SK, LG, KT 등
  • 이 단계에서 캐싱된 기록에 없을 경우, 다음 단계로 넘어간다.

3. 웹브라우저가 HTTP를 사용하여 DNS에게 입력된 도메인 주소를 요청한다.

4. DNS가 웹브라우저에게 찾는 사이트의 IP주소를 응답한다.

  • ISP(Internet Service Provider)의 DNS 서버가 호스팅하고 있는 서버의 IP주소를 찾기위해
    DNS query를 날린다.
    • DNS Query : DNS 서버들을 검색해서 해당 사이트의 IP주소를 찾는데에 있다.
      IP주소를 찾을 때까지 DNS서버에서 다른 DNS서버를 오가며 에러가 날때까지 반복적으로 검색한다.
  • DNS recursor(ISP의 DNS서버)는 name server들에게 물어물어 올바른 IP주소를 찾는데에 책임이 있다.
  • 이 모든 요청들과 DNS recursor, IP주소는 작은 데이터 패킷을 통해 보내진다.
  • 원하는 DNS기록을 가진 DNS서버에 도달할 때까지 클라이언트 ↔️ 서버를 여러번 오가는 과정을 거친다. 해당 검색기법을 recursive search라 부른다.

5. 웹브라우저가 웹서버에게 IP주소를 이용하여 html 문서를 요청한다.

  • 브라우저가 올바른 IP 주소를 받게 되면 서버와 http connection을 통해 서버와 연결을 한다.
  • HTTP 연결의 경우 대표적인 인터넷 프로토콜인 TCP를 일반적으로 사용한다.
    클라이언트와 서버간 데이터 패킷들이 오가려면 TCP connection이 되어야 한다.
  • TCP/IP three-way handshake 프로세스를 통해서 클라이언트와 서버간 연결이 이뤄지게 된다.
  • TCP로 연결이 되면, 브라우저는 GET요청을 통해서 서버에게 www.youtube.com의 웹페이지를 요구한다.

6. 웹 어플리케이션서버(WAS)와 데이터베이스에서 우선 웹페이지 작업을 처리한다.

  • 브라우저로부터 요청을 받고 request handler한테 요청을 전달해서 요청을 읽고 response를 생성하게 한다.
    • Request handler : ASP.NET, PHP, Ruby 등으로 작성된 프로그램을 의미한다.
  • 이 request handler는 요청과 요청의 헤더, 쿠키를 읽어서 요청이 무엇인지 파악하고 필요하다면 서버에 정보를 업데이트 한다.
  • response를 특정한 포맷으로(JSON, XML, HTML) 작성한다.

7. 6번의 작업 처리 결과를 웹서버로 전송한다.

8. 웹서버는 웹브라우저에게 html 문서결과를 응답한다.

  • 서버의 response에는 요청한 웹페이지, 상태코드, 쿠키, 개인정보 등이 포함되어있다.
  • 상태코드
    • 1XX -> 정보만 담긴 메세지
    • 2XX -> response 성공
    • 3XX -> 클라이언트를 다른 URL로 리다이렉트
    • 4XX -> 클라이언트 측에서 에러 발생
    • 5XX -> 서버측에서 에러 발생

9. 웹브라우저는 화면에 웹페이지 내용물을 출력한다.

  • 브라우저는 html content를 단계적으로 렌더링 하여 노출한다.
  • 해당 contents 들은 브라우저에 의해 캐싱되어 나중에 해당 페이지 재방문시 서버에 재요청하지 않도록 한다.
  • 'www.youtube.com' 웹 페이지가 노출된다.


🙇‍ 참고 사이트 🙇‍

https://superohinsung.tistory.com/85#4.%20DNS%EA%B0%80%20%EC%9B%B9%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EA%B2%8C%20%EC%B0%BE%EB%8A%94%20%EC%82%AC%EC%9D%B4%ED%8A%B8%EC%9D%98%20IP%EC%A3%BC%EC%86%8C%EB%A5%BC%20%EC%9D%91%EB%8B%B5%ED%95%9C%EB%8B%A4.-1
https://leeph.tistory.com/39
https://oizys.tistory.com/36

0개의 댓글

관련 채용 정보