CoderCo

Share this post

๐—ช๐—ต๐—ฎ๐˜ ๐—ต๐—ฎ๐—ฝ๐—ฝ๐—ฒ๐—ป๐˜€ ๐˜„๐—ต๐—ฒ๐—ป ๐˜†๐—ผ๐˜‚ ๐˜๐˜†๐—ฝ๐—ฒ ๐—ฎ ๐—จ๐—ฅ๐—Ÿ ๐—ถ๐—ป๐˜๐—ผ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฏ๐—ฟ๐—ผ๐˜„๐˜€๐—ฒ๐—ฟ?

blog.coderco.io

Discover more from CoderCo

A newsletter for Software, Systems and DevOps
Over 3,000 subscribers
Continue reading
Sign in

๐—ช๐—ต๐—ฎ๐˜ ๐—ต๐—ฎ๐—ฝ๐—ฝ๐—ฒ๐—ป๐˜€ ๐˜„๐—ต๐—ฒ๐—ป ๐˜†๐—ผ๐˜‚ ๐˜๐˜†๐—ฝ๐—ฒ ๐—ฎ ๐—จ๐—ฅ๐—Ÿ ๐—ถ๐—ป๐˜๐—ผ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฏ๐—ฟ๐—ผ๐˜„๐˜€๐—ฒ๐—ฟ?

aka How DNS works

Coder Co
Feb 14, 2023
2
Share this post

๐—ช๐—ต๐—ฎ๐˜ ๐—ต๐—ฎ๐—ฝ๐—ฝ๐—ฒ๐—ป๐˜€ ๐˜„๐—ต๐—ฒ๐—ป ๐˜†๐—ผ๐˜‚ ๐˜๐˜†๐—ฝ๐—ฒ ๐—ฎ ๐—จ๐—ฅ๐—Ÿ ๐—ถ๐—ป๐˜๐—ผ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฏ๐—ฟ๐—ผ๐˜„๐˜€๐—ฒ๐—ฟ?

blog.coderco.io
Share

The process involves fundamental components like the browser, your computerโ€™s operating system, your internet service provider (ISP), the server where you host the site and the services running on that server.




๐Ÿญ. ๐—ฌ๐—ผ๐˜‚ ๐˜๐˜†๐—ฝ๐—ฒ ๐—ด๐—ผ๐—ผ๐—ด๐—น๐—ฒ.๐—ฐ๐—ผ๐—บ ๐—ถ๐—ป๐˜๐—ผ ๐—ฎ ๐˜„๐—ฒ๐—ฏ ๐—ฏ๐—ฟ๐—ผ๐˜„๐˜€๐—ฒ๐—ฟ, ๐˜๐—ต๐—ฒ ๐—พ๐˜‚๐—ฒ๐—ฟ๐˜† ๐˜๐—ฟ๐—ฎ๐˜ƒ๐—ฒ๐—น๐˜€ ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ถ๐—ป๐˜๐—ฒ๐—ฟ๐—ป๐—ฒ๐˜ ๐—ฎ๐—ป๐—ฑ ๐—ถ๐˜€ ๐—ฟ๐—ฒ๐—ฐ๐—ถ๐—ฒ๐˜ƒ๐—ฒ๐—ฑ ๐—ฏ๐˜† ๐—ฎ ๐——๐—ก๐—ฆ ๐—ฟ๐—ฒ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ๐—ฟ

When you type a domain name into a web browser, the browser needs to resolve the domain name to an IP address. The IP address is what is used to identify a specific server on the internet.

๐Ÿฎ. ๐—ง๐—ต๐—ฒ ๐——๐—ก๐—ฆ ๐—ฟ๐—ฒ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ๐—ฟ ๐—ฟ๐—ฒ๐—ฐ๐˜‚๐—ฟ๐˜€๐—ถ๐˜ƒ๐—ฒ๐—น๐˜† ๐—พ๐˜‚๐—ฒ๐—ฟ๐—ถ๐—ฒ๐˜€ ๐—ฎ ๐——๐—ก๐—ฆ ๐—ฟ๐—ผ๐—ผ๐˜ ๐—ป๐—ฎ๐—บ๐—ฒ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ.

The DNS resolver is responsible for resolving domain names to IP addresses. It takes the request from your browser and sends a query to a DNS root name server. The root name server is the top of the hierarchy in the domain name system and is responsible for pointing the resolver in the right direction.

๐Ÿฏ. ๐—ง๐—ต๐—ฒ ๐—ฟ๐—ผ๐—ผ๐˜ ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ ๐—ฟ๐—ฒ๐˜€๐—ฝ๐—ผ๐—ป๐—ฑ๐˜€ ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ฟ๐—ฒ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ๐—ฟ ๐˜„๐—ถ๐˜๐—ต ๐˜๐—ต๐—ฒ ๐—ฎ๐—ฑ๐—ฑ๐—ฟ๐—ฒ๐˜€๐˜€ ๐—ผ๐—ณ ๐—ฎ ๐˜๐—ผ๐—ฝ-๐—น๐—ฒ๐˜ƒ๐—ฒ๐—น ๐—ฑ๐—ผ๐—บ๐—ฎ๐—ถ๐—ป ๐—ฎ๐—ธ๐—ฎ ๐—ง๐—Ÿ๐——

The root name server responds to the resolver with the address of the top-level domain (TLD) name server, which is responsible for the .com TLD in this case. The TLD name server is responsible for managing the domains that are part of that TLD.

๐Ÿฐ. ๐—ง๐—ต๐—ฒ ๐——๐—ก๐—ฆ ๐—ฟ๐—ฒ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ๐—ฟ ๐—บ๐—ฎ๐—ธ๐—ฒ๐˜€ ๐—ฎ ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜ ๐˜๐—ผ ๐˜๐—ต๐—ฒ .๐—ฐ๐—ผ๐—บ ๐—ง๐—Ÿ๐——

The resolver then sends a request to the .com TLD name server for the IP address of the domain you requested, google.com

๐Ÿฑ. ๐—ง๐—ต๐—ฒ ๐—ง๐—Ÿ๐—— ๐—ป๐—ฎ๐—บ๐—ฒ ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ ๐—ฟ๐—ฒ๐˜€๐—ฝ๐—ผ๐—ป๐—ฑ๐˜€ ๐˜„๐—ถ๐˜๐—ต ๐˜๐—ต๐—ฒ ๐—œ๐—ฃ ๐—ฎ๐—ฑ๐—ฑ๐—ฟ๐—ฒ๐˜€๐˜€ ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐—ฑ๐—ผ๐—บ๐—ฎ๐—ถ๐—ป๐˜€ ๐—ป๐—ฎ๐—บ๐—ฒ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ, ๐—ถ๐—ป ๐˜๐—ต๐—ถ๐˜€ ๐—ฐ๐—ฎ๐˜€๐—ฒ ๐—ด๐—ผ๐—ผ๐—ด๐—น๐—ฒ.๐—ฐ๐—ผ๐—บ

๐Ÿฒ. ๐—ง๐—ต๐—ฒ ๐—ฟ๐—ฒ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ๐—ฟ ๐˜€๐—ฒ๐—ป๐—ฑ๐˜€ ๐—ฎ ๐—พ๐˜‚๐—ฒ๐—ฟ๐˜† ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ฑ๐—ผ๐—บ๐—ฎ๐—ถ๐—ป๐˜€ ๐—ป๐—ฎ๐—บ๐—ฒ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ

๐Ÿณ. ๐—ง๐—ต๐—ฒ ๐—œ๐—ฃ ๐—ฎ๐—ฑ๐—ฑ๐—ฟ๐—ฒ๐˜€๐˜€ ๐—ผ๐—ณ ๐—ด๐—ผ๐—ผ๐—ด๐—น๐—ฒ.๐—ฐ๐—ผ๐—บ ๐—ถ๐˜€ ๐—ฟ๐—ฒ๐˜๐˜‚๐—ฟ๐—ป๐—ฒ๐—ฑ ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ฟ๐—ฒ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ๐—ฟ ๐—ณ๐—ฟ๐—ผ๐—บ ๐˜๐—ต๐—ฒ ๐—ป๐—ฎ๐—บ๐—ฒ๐˜€๐—ฒ๐—ฟ๐˜ƒ๐—ฒ๐—ฟ

๐Ÿด. ๐—ง๐—ต๐—ฒ ๐——๐—ก๐—ฆ ๐—ฟ๐—ฒ๐˜€๐—ผ๐—น๐˜ƒ๐—ฒ๐—ฟ ๐—ฟ๐—ฒ๐—ฝ๐˜€๐—ผ๐—ป๐—ฑ๐˜€ ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ฏ๐—ฟ๐—ผ๐˜„๐˜€๐—ฒ๐—ฟ ๐˜„๐—ถ๐˜๐—ต ๐˜๐—ต๐—ฒ ๐—œ๐—ฃ ๐—ฎ๐—ฑ๐—ฑ๐—ฟ๐—ฒ๐˜€๐˜€ ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐—ฑ๐—ผ๐—บ๐—ฎ๐—ถ๐—ป ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐˜€๐˜๐—ฒ๐—ฑ, ๐—ด๐—ผ๐—ผ๐—ด๐—น๐—ฒ.๐—ฐ๐—ผ๐—บ ๐—ถ๐—ป ๐˜๐—ต๐—ถ๐˜€ ๐—ฐ๐—ฎ๐˜€๐—ฒ.

The browser receives the IP address from the resolver and uses it to establish a connection to the server hosting the website. The server then sends the HTML, CSS, and JavaScript that make up the website to the browser, which renders the website for you to view.

-----
Follow for more daily updates about software engineering, systems design, networking and DevOps content.

2
Share this post

๐—ช๐—ต๐—ฎ๐˜ ๐—ต๐—ฎ๐—ฝ๐—ฝ๐—ฒ๐—ป๐˜€ ๐˜„๐—ต๐—ฒ๐—ป ๐˜†๐—ผ๐˜‚ ๐˜๐˜†๐—ฝ๐—ฒ ๐—ฎ ๐—จ๐—ฅ๐—Ÿ ๐—ถ๐—ป๐˜๐—ผ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ฏ๐—ฟ๐—ผ๐˜„๐˜€๐—ฒ๐—ฟ?

blog.coderco.io
Share
Comments
Top
New
Community

No posts

Ready for more?

ยฉ 2023 CoderCo
Privacy โˆ™ Terms โˆ™ Collection notice
Start WritingGet the app
Substack is the home for great writing