
불과 몇일 전에 면접에서 받은 질문 ㅠㅠ
DNS만 알고.. 제대로 답하지 못해서 슬펐다.
그래서 접했던 질문이더라도 용어 정리 및 직접 해보면서 익혀보려고 한다.
대기열, 캐싱, DNS, 라우팅, ARP, 초기연결을 거쳐 컨텐츠를 다운받게 되고 이 후 브라우저렌더링 과정을 거쳐 네이버라는 화면이 나타나게 됩니다. 또한 이러한 과정이 캡슐화, 비캡슐화과정을 거쳐서 이뤄지게 됩니다
[출처][CS전공지식면접] www.naver.com을 주소창에 치면 어떻게 될까요?|작성자 큰돌
참고: https://blog.naver.com/jhc9639/222700552159
-대기열
-캐싱
-ARP
-초기연결
-브라우저렌더링
-캡슐화
-비캡슐화


사용자가 입력한 url 주소 중에서 도메인 네임을 DNS 서버에서 검색한다.
※ DNS:사람이 읽을 수 있는 도메인 이름(예: www.amazon.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환
※ 도메인 네임: 네트워크상에서 컴퓨터를 식별하는 호스트명이자 www.amazon.com같은 웹주소
DNS 서버에서 해당 도메인 네임에 해당하는 IP주소를 찾아 사용자가 입력한 URL 정보와 함께 전달합니다

※ 도메인 네임 = URL(Uniform Resource Locator) = 인터넷 주소
※ 도메인은 인터넷 상에서의 주소로 URL의 일부.

※ URL은 프로토콜, 이름, 확장자로 구성되어 있으며 도메인이 포함되어 있는 경로.
웹 페이지 URL + IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메세지를 생성합니다
※ HTTP은 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜.
※ 클라이언트와 서버들은 개별적인 메시지 교환에 의해 통신합니다. 보통 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(requests)이라고 부르며, 그에 대해 서버에서 응답으로 전송되는 메시지를 응답(responses)이라고 부릅니다.
참조 : https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
HTTP 요청 메세지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송된다
※ TCP 프로토콜이란 OSI 7Layer 중 4계층인 전송계층에 속하는 중요 프로토콜로 네트워크 망에 연결된 컴퓨터의 프로그램 간 데이터를 순서대로, 에러없이 교환할 수 있게 하는 역할이다.
이렇게 도착한 HTTP 요청 메세지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환된다.
웹 서버는 도착한 웹 페이지 URL 정보에 해당하는 데이터를 검색한다
검색된 웹 페이지 데이터는 또다시 HTTP 프로토콜을 사용하여 HTTP 응답 메세지를 생성한다
이렇게 생성된 HTTP 응답 메세지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 원래 컴퓨터로 전달된다.
도착한 HTTP 응답 메세지는 HTTP 프로토콜을 이용하여 웹 페이지 데이터로 변환되고, 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 된다.
1
https://oozoowos.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%A3%BC%EC%86%8C%EC%B0%BD%EC%97%90-URL%EC%9D%84-%EC%9E%85%EB%A0%A5-%EC%8B%9C-%EC%9D%BC%EC%96%B4%EB%82%98%EB%8A%94-%EC%9D%BC
2
https://blog.naver.com/jhc9639/222700552159
3
https://velog.io/@easttwave/Network-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EC%84%9C-%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C-%EA%B2%80%EC%83%89%EC%9D%84-%ED%96%88%EC%9D%84-%EB%95%8C-%EB%B2%8C%EC%96%B4%EC%A7%80%EB%8A%94-%EC%9D%BC