[프론트 엔드] 브라우저에 구글을 치면 어떤 일이 일어나는가? (1)

2023. 10. 28. 20:44카테고리 없음

제목과 같은 질문은 면접 시 매우 자주 나오는 질문이다. 면접을 볼지 몰라서 미리 공부하는데 이번 기회에 공부하고자 구글링을 시작했다. 바로 영어로 what happens when you type www.google.com  on browser이라고 치니 Medium글이 하나 나왔다. 한 번 번역을하면서 정독해보기로 한다. 나 역시 글을 안 읽은 상태이다.

 

https://medium.com/towards-data-engineering/what-happens-when-you-type-google-com-in-your-browser-and-press-enter-431460a23b42

 

What Happens When You Type Google.com in Your Browser and Press Enter?

The internet is currently the most widely used virtual infrastructure, with an astounding five billion individuals accessing it, which…

medium.com

 

What Happens When You Type Google.com in Your Browser and Press Enter?

Google.com을 브라우저에 치고 엔터를 누르면 무슨 일이 일어나는가?

 

The internet is currently the most widely used virtual infrastructure, with an astounding five billion individuals accessing it, which accounts for approximately 63.1% of the global population (Source: Statistica). While many envision the internet as a cloud, this perception is not entirely accurate. In reality, the internet consists of a network of interconnected computers that communicate with one another, enabling data to be accessed from any location and at any time. As avid internet and social media users, we often find ourselves unaware of the intricacies happening behind the scenes as we engage in various online activities. Whether it’s effortlessly accessing webpages or obtaining answers to our obscure questions through search engines, everything seems to work seamlessly as we expect. In this article, I will guide you through the backend processes that occur when you enter a URL such as google.com into your browser and hit the enter key. I’m sure you’re excited about learning this, right?

 

인터넷은 현재 가장 널리 사용되는 가상 인프라이다. 50억이라는 정말 많은 사람들이 인터넷을 사용하고 그 수치는 전체 인구의 대략 63.1 퍼센트를 차지한다. 많은 사람들이 인터넷을 가상의 무언가로 생각하지만, 그러한 인식은 완전 정확한 것은 아니다. 실제로는 인터넷은 서로 통신 교환하는 컴퓨터들이 서로 연결된 네트워크로 이루어져있다. 열정적인 인터넷과 소셜 미디어 사용자로서 우리는 다양한 온라인 활동 이면에서 벌어지는 복잡한 일들에 대해서는 알지 못한다. 힘쓸일 없이 웹페이지에 접근하고 이해하기 힘든 질문들에 관해 서칭 엔진을 통해 정보를 얻건 모든 것은 우리의 기대처럼 아주 물 흐르듯 작동한다. 이 글에서는 google.com과 같은 URL을 브라우저에 입력하고 엔터키를 눌렀을 때 그 이면에는 어떤 일이 일어나는지에 대해 이야기하려한다. 이 것을 배우는 것을 당신이 좋아할 것이라 나는 확신한다. 

 

In this article, we will explore fundamental concepts such as URL, DNS , TCP/IP, Firewall, Load Balancer, Webservers, Application Servers, and Database.

 

이 글에서 우리는 URL, DNS, TCP/IP, Firewall, Load Balancer, Webservers, Application Servers, and Database와 같은 기초적인 개념들을 공부할 것이다.

The URL

Similar to how we reside in homes with unique addresses for convenient navigation by homeowners, visitors, or anyone seeking to locate our residence, the internet employs the URL(Uniform Resource Locators) as a means of identification. In this analogy, our physical home corresponds to a webpage on the internet.

A website comprises a compilation of data and files, encompassing text, images, and videos. These files often contain instructions that guide your browser in displaying the website’s content and visuals. The website itself is composed of HTML and CSS files, which structure and style the webpages, as well as Javascript files that add interactivity and dynamism to the website.

Hosting a website on your personal computer is not a recommended practice due to scalability and reliability limitations. Websites are designed to be easily accessible and interacted with by anyone on the internet, from anywhere and at any time. Hence, it is essential to host websites on the internet. Each website possesses a unique URL, which serves as its address. In this article, our primary URL example is google.com. A URL follows a standard format. For instance, consider the URL: http://example.com/product/electric/phone.In this case, the scheme of the URL is HTTP, the domain is example.com, the path is /product/electric, and the resource is phone.

 

집주인, 방문객, 우리 거주지를 찾는 누구든 우리의 집을 찾을 수 있도록 고유 주소를 갖고 있듯 식별을 위해 인터넷은 URL을 사용한다. 이러한 비유에서 우리는 현실 세계의 집이 인터넷에서는 웹페이지와 상응한다. 

웹 사이트는 압축된 텍스트, 이미지, 비디오들의 데이터와 파일들의 집합체이다. 이 파일들은 브라우저가 어떻게 웹사이트의 콘텐츠와 비주얼을 보여줘야하는지에 대한 지시사항들을 가지고 있다. 웹사이트는 웹사이트의 구조와 스타일을 담당하는 HTML, CSSS 파일로 구성되어 있다. 또한 자바스크립트 파일은 웹사이트에게 동적인 움직임과 상호 작용을 부여한다. 웹사이트를 개인 pc에 불러오는 것은 확장성이나 안정성의 한계로 좋은 방식이 아니다. 웹사이트들은 쉽게 접근할 수 있도록 디자인되어 있으며 인터넷에 있는 누구나 언제 어디서든지 상호작용이 가능하다. 각 웹페이지는 주소 역할을 하는 고유한 URL을 소유하고 있다. 이 글에서는 우리의 중요한 URL 예시는 google.com이다. URL은 기본적인 형식을 따른다. 예를 들어  http://example.com/product/electric/phone 을 고려해보면 이 URL의 형식은 HTTP이다. 도메인은 example.com이며 path는 product/electric이다고 resource는 phone이다.

 

The internet space is structured in a way that facilitates seamless connectivity between computers, both personal devices and external servers. Each computer, including servers, is assigned an IP(Internet Protocol) address. This address enables computers to locate and establish connections with one another. An IP address is essentially a series of numbers. For example, the server hosting the website google.com has the IP address 172.217.170.174. Your local computer, phones, internet providers, and servers all possess their unique IP addresses.

When we enter google.com into our browser, the initial task performed by the browser is to locate the IP address of the server hosting the google.com website or webpage. This process is facilitated by the Domain Name System (DNS).

 

인터넷 공간은 컴퓨터들 사이에서의 끊임없는 연결성을 가능하게하는 방식 속에서 구조화되어 있다. 각 컴퓨터들은  서버를 포함해서 IP 주소를 할당받는다. 이 주소는 컴퓨터가 다른 컴퓨터의 위치를 찾아내고 연결하는 것을 가능하게 한다. IP 주소는 일련의 숫자값들이다. 예를 들어, google.com 웹사이트를 호스팅하는 서버는 172.217.170.174.라는 IP 주소값을 가지고 있다. 당신의 로컬 컴퓨터, 핸드폰, 인터넷 제공자, 서버들 모두 고유한 IP 주소를 가지고 있다. 

우리가 google.com을 브라우저에 치면 google.com 웹사이트나 웹페이지를 호스팅하는 서버의 IP 주소를 찾아내는 초기작업이 브라우저에 의해 행해진다. 이 과정은 DNS에 의해서 수행된다.