본문 바로가기

CS/Network

클라이언트의 서비스 요청에 따른 서버의 처리과정

클라이언트가 웹 브라우저를 사용하여 특정 웹 사이트에 접근할 때 웹 브라우저는 해당 사이트의 IP 주소를 찾아 서버와의 통신을 진행한다. 그러면 서버는 클라이언트의 요청을 처리하고 그에 따른 응답을 웹 브라우저에 보내면 웹 브라우저는 클라이언트가 보기 좋게 렌더링 하여 보여준다.  이번 포스팅에서는 URL 입력과 IP 조회 및 반환에 대해서 작성해 보았다. TCP 연결 및 연결해제에 관련해서는 이전 포스팅 OSI 7 Layers TCP와 UDP를 참고하길 바란다.


기본 과정

1. 사용자는 웹 브라우저를 통해 url 주소 입력

2-1. Hosts파일의 IP 정보들은 DNS 캐시 파일에 저장이 되어진다.

2-2. 브라우저에서 사용자 요청 도메인의 IP 주소를 찾기 위해 DNS Cache 접근

2-3. DNS Cache에도 없을 시 url 주소 중 Domain Name 부분을 DNS 서버에서 검색

3. (2-3 기준) Local DNS Server → Root Name Server → TLD Name Server → Authoritative Name Server 순으로 IP 조회 후 사용자가 입력한 url 정보와 IP 주소 반환

4. 해당 IP주소로 TCP 연결 및 HTTP or HTTPS Request

5. 서버 측에서 HTTP or HTTPS Response 반환과 함께 TCP 연결 해제

6. 사용자가 보기 편하도록 렌더링 하여 정보 제공

 

 

1. URL 입력

사용자는 웹 브라우저를 통해 url 주소 입력

https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web

프로토콜 브라우저가 사용해야 하는 프로토콜을 나타냄
도메인 이름 네임 스페이스를 관리하는 도메인 이름 or IP. 파일이 위치한 웹 서버
포트 웹 서버의 리소스에 접근하기 위한 통로
경로 웹 서버의 리소스 경로
쿼리 웹 서버에 제공되는 추가적인 파라미터
프래그먼트 리소스 자체의 다른 부분을 가리키는 앵커

URI과 URL

URI(Uniform Resource Identifier) - 자원의 식별자에 중점

통합 자원 식별자로 인터넷에 있는 자원을 나타내는 유일한 주소.

 

URL(Uniform Resource Locator) - 자원의 위치에 중점

네트워크 상에서 웹 페이지, 이미지 동영상 등의 자원이 존재하는 위치를 나타냄

 

2. IP 조회

DNS : Domain Name System의 약자로 도메인 이름과 IP 주소를 변환해주는 시스템

2-1. Hosts파일의 IP 정보들은 DNS 캐시 파일에 저장이 됨(호스트 파일과 캐시 정보는 실시간 동기화)

2-2. 브라우저에서 사용자 요청 도메인의 IP 주소를 찾기 위해 DNS Cache 접근

2-3. DNS Cache에도 없을 시 url 주소 중 Domain Name 부분을 DNS 서버에서 검색

[참고]

사용자가 이전에 접속한 도메인의 주소가 있다면 해당 IP들은 Hosts 파일에 저장이 되고 해당 파일에 저장된 IP 주소들은 DNS Cache에 저장된다(실시간 동기화). DNS Cache에 저장되는 이유는 DNS 서버에 질의 요청하는 시간을 줄임으로써 성능을 높일 수 있기 때문에 우선적으로 DNS Cache에 접근하려는 도메인 주소의 IP 정보가 있는지 확인하는 것이다. 존재하지 않는다면 DNS 서버에 질의 과정을 거친다. DNS 서버는 모든 도메인의 IP 주소를 가질 수 없기 때문에 계층구조 형태로 나누어져 있다. 따라서 분산 데이터 베이스 시스템이라고 한다. 사용자의 질의를 받으면 DNS Server는 해당 도메인에 해당하는 Root 서버에 대한 정보를 알려주고 비슷한 형태로 TLD, Authoritative 서버 순으로 정보를 받아 IP 주소를 얻게 된다.

KISA DNS 설명 中

[참고]

Local DNS Server(Recursive DNS Server) : 캐시 정보를 저장해 두고 사용하는 서버. 만약에 원하는 도메인의 주소가 있다면 바로 IP 주소를 반환해준다. ISP가 여기에 해당

Local 서버에 "www.google.com"에 대한 정보 요청

해당 주소에 대한 정보가 없으므로 Root Name Server에 다시 질의

Root Name Server : TLD DNS 서버들의 IP 정보를 저장하는 서버. ICANN이 관리하고 전 세계 13개 존재

".com" 네임 서버에 해당 주소에 대한 정보(TLD Name 서버 정보)를 받아 TLD Name 서버에 다시 질의

TLD Name Server : 도메인 등록기관이 관리. Authoritative DNS 서버의 IP 주소를 가지고 있음 [참고]

"google.com"에 대한 정보를 가진 서버에 대한 정보를 받아 다시 질의

Authoritative Name Server : 도메인 판매업체가 관리. 실제 도메인의 IP 정보를 저장하고 있는 서버 

"google.com"에 대한 IP 정보 반환

 

CDN을  통해 더 빠르게 서버 리소스를 받아올 수 있다.

 

CDN이란 무엇일까?

이전 포스팅에서 사용자가 특정 사이트로 요청했을 때 전반적인 처리 과정에 대해서 살펴보았다. 클라이언트가 서버에 요청을 보냈을 때 일차적으로 자체 DNS 캐시를 검색하고, 없을 경우 DNS Serv

mysterlee.tistory.com

 

3. TCP 연결 및 HTTP 통신

서버와 연결을 완료하였으면 HTTP or HTTPS 프로토콜을 통해 요청과 응답을 주고받는다.

[참고]

 

4. 렌더링

서버가 제공하는 리소스(HTML, CSS, JS, Image)를 브라우저가 받으면 브라우저는 리소스를 가지고 가공하여 클라이언트가 보기 좋게 하여 정보를 제공한다.


참고하면 좋은 사이트

 

DNS 동작방식

Today Keys : DNS, Domain, 동작방식, 도메인, 53, tld, 질의, 쿼리, 소개, 루트, root 본 포스팅은 'IT 엔지니어를 위한 네트워크 입문' [길벗] 서적에 포함된 '7.2 DNS'장의 내용 중 소개 및 7.2.3장과 7.2.2..

zigispace.net

 

What Is DNS Cache and How to Flush It - KeyCDN Support

DNS cache is used to store information about DNS records to reduce load times. Learn more about how it works and how to flush it if required.

www.keycdn.com

 

DNS 동작 방식

DNS를 분산 데이터 베이스 시스템이라 하는 것은 도메인 각 계층별로 네임서버를 두고 분산해서 도메인 정보를 관리하기때문이다. w  forward dns lookup  revers dns lookup DNS 서버 질의 순서 1.로컬 DNS

222tistory.tistory.com

 

DNS란 뭐고, 네임서버란 뭔지 개념정리 | 살살살림

DNS란 건 뭐고, DNS 서버란 건 뭐고, 네임서버란 건 뭐고 이름부터 혼란스러운 개념. 사용자의 입장에서 왜 DNS 역할이 필요한지와 추천할 만한 무료 네임서버에 대해서 알.아.보.자.

gentlysallim.com

 

웹 브라우저에 URL을 입력하면 어떤 일이 생기나요? | Amazon Web Services

여러분은 매일 웹 브라우저를 열고 소셜 미디어, 뉴스, 전자 상거래 사이트 등 즐겨 찾는 웹 사이트를 탐색합니다. 주소창에 URL을 입력하거나 페이지 링크를 클릭하면 해당 페이지로 이동합니다

aws.amazon.com

 

DNS란 무엇입니까? – DNS 소개 - AWS

12개월 동안 AWS 프리 티어에 액세스하고 연중무휴 24시간 고객 서비스, 지원 포럼 등을 비롯한 AWS Basic Support의 기능을 사용할 수 있습니다. 현재 Amazon Route 53는 AWS 프리 티어에서 제공되지 않는다

aws.amazon.com

 

웹 브라우저에 URL을 입력하면 어떤 일이 일어날까?

우리가 흔히 쓰는 웹 브라우저(Chrome, Internet Explorer, Firefox)에 URL(Uniform Resource Locator)을 입력하고 Enter를 치면 어떻게 웹페이지가 우리 눈에 보여질까? 1. 주소표시줄에 URL을 입력하고 Enter를..

owlgwang.tistory.com

 

 

[Network] URI와 URL의 차이점

URL과 URI 대체 뭐가 다를까? 어떤 때 어떤 것을 써야할지에 대해 알아보자.

millo-L.github.io

 

 

CDN 소개 | CDN의 작동 방식

CDN(Content Delivery Network)은 협력하여 인터넷 콘텐츠를 고속 전송하는 지리적으로 분산된 서버 집단을 의미합니다. 이 CDN 안내서로 자세히 알아보세요.

www.cloudflare.com

 

'CS > Network' 카테고리의 다른 글

HTTP와 HTTPS  (0) 2022.09.16
CDN이란 무엇일까?  (0) 2022.09.06
TCP와 UDP  (0) 2022.08.24
Proxy 프록시  (0) 2022.05.16
Web에서의 인증과 인가(세션과 토큰)  (0) 2021.12.29