| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 기술면접
- REST API
- C# CS
- C#이론
- 컴퓨터과학
- UaExpert download
- 스프링부트의 장단점
- Service Worker
- opc-ua 다운로드
- OPC-UA
- nosql
- java란 무엇인가
- UaExpert다운로드
- 스프링부트 장점
- 스프링부트회원가입
- OPC-UA Download
- 스프링부트 단점
- CS
- Blazor Web App
- 스프링부트로그인
- cs기술면접
- 스프링 스프링부트 차이점 공통점
- jvm구성요소
- C# Blazor
- spring spring boot 차이점 공통점
- prosys opc-ua
- java란?
- Prosys Opc-ua 다운로드
- Blazor WebAssembly
- 프론트엔드
- Today
- Total
담비의 개발블로그
url창에 naver.com을 입력하면 네이버가 뜨는 원리는 무엇인가요? 본문
1. 사용자의 입력
사용자가 주소창에 'naver.com' (또는 '네이버')을 입력합니다. 브라우저는 이것이 검색어인지 URL인지 판단하고, 'naver.com'이라는 도메인 주소로 인지한다.
2. 브라우저 캐시 확인
브라우저는 가장 먼저 자신의 브라우저 캐시 저장소를 확인한다. "내가 최근에 'naver.com'에 방문해서 IP 주소를 이미 알고 있나?"라고 스스로 묻는 것이다. 만약 캐시에 'naver.com'의 IP 주소(예: 223.130.195.95)가 저장되어 있다면, 3~4번 과정을 건너뛰고 바로 5번으로 이동합니다. (이러한 경우에는 재방문 시 속도가 더 빠르다.)
3. DNS 조회 요청 (Keyword: DNS)
브라우저 캐시에 IP 주소가 없다면, 브라우저는 OS(운영체제)에게 'naver.com'의 IP 주소를 찾아달라고 요청한다.
OS는 설정된 DNS (Domain Name System) 서버에 이 요청을 보낸다. DNS는 "인터넷의 거대한 전화번호부"와 같다.
- DNS(Domain Name System) : 도메인 이름(naver.com)을 실제 IP 주소(223.130.195.95)로 변환(번역)해주는 핵심 시스템입니다.
4. IP 주소 응답
DNS 서버는 'naver.com'이라는 도메인 이름에 매칭되는 실제 서버의 IP 주소(예: 223.130.195.95)를 찾아서 OS에 알려줍니다.
OS는 이 IP 주소를 브라우저에 전달하고, 브라우저는 이 주소를 브라우저 캐시에 저장하여 다음 요청 시 재사용합니다.
5. 서버 연결 (TCP/IP)
브라우저는 알아낸 IP 주소(223.130.195.95)를 가진 네이버의 웹 서버 컴퓨터에 연결을 시도한다. (TCP 3-Way Handshake라는 과정을 통해 "이제 통신하자"고 서로 약속한다.)
6. HTTP 요청 (Request)
연결이 성공하면, 브라우저는 네이버 서버에 "메인 페이지(index.html)를 보여주세요"라는 HTTP 요청(Request) 메시지를 보냅니다.
7. 서버 응답 (Response)
네이버 서버는 이 요청을 받고, "알겠다. 여기 데이터(HTML, CSS, JavaScript 파일 등)를 받아라"고 HTTP 응답(Response) 메시지와 함께 웹사이트의 구성 파일들을 보냅니다.
8. 렌더링 (Rendering)
브라우저는 서버로부터 받은 파일들을 해석한다. HTML로 페이지의 뼈대(구조)를 만들고, CSS로 디자인(색상, 글꼴, 레이아웃)을 입히고, JavaScript로 실시간 검색어나 광고 배너 같은 동적인 기능들을 실행한다.
9. 표시
이 모든 과정이 합쳐져 사용자의 모니터에 우리가 아는 '네이버' 메인 화면이 보이게 된다.
'개발관련이야기' 카테고리의 다른 글
| [개발관련이야기]인메모리 DB / RDBMS / NoSQL 용도차이 (0) | 2025.11.11 |
|---|---|
| 키보드에서 a키를 눌렀을때 모니터 a라는 글자가 뜨는 과정은 무엇인가요? (0) | 2025.10.28 |
| Hadoop(하둡이란) (0) | 2025.10.27 |
| [기타]Scheme이란? (1) | 2024.12.12 |
| [PWA]Service Worker가 필요한 이유 (0) | 2024.11.26 |