본문 바로가기
etc

[면접 대비] 브라우저에 google.com을 입력하면 무슨 일이 일어날까?

by haheehee 2025. 2. 10.
728x90

개요

웹 개발자나 네트워크 엔지니어 면접에서 자주 나오는 질문 중 하나가 **"브라우저에 google.com을 입력하면 무슨 일이 일어나는가?"**이다. 이 질문은 웹의 동작 원리, 네트워크 구조, 브라우저 렌더링 과정 등을 얼마나 이해하고 있는지 평가하는 데 사용된다.

 

 google.com을 입력하고 엔터를 누르는 순간부터 웹페이지가 표시될 때까지의 전체 흐름에 대하여 정리했다.


1. 사용자가 google.com 입력 후 Enter를 누름

먼저 사용자가 브라우저의 주소창에 google.com을 입력하고 Enter를 누르면, 브라우저는 이 URL을 처리하기 시작

2. DNS(Domain Name System) 조회

브라우저는 google.comIP 주소로 변환하기 위해 DNS 요청을 보냄.

  • 로컬 캐시 확인: 브라우저나 운영체제(OS)가 최근에 방문한 사이트의 DNS 정보를 캐시하고 있을 수 있음.
  • DNS 리졸버 요청: 캐시에 없을 경우, 설정된 DNS 서버(ISP 제공 또는 Google Public DNS 8.8.8.8 등)에 요청을 보냄
  • 도메인 네임 조회: DNS 서버는 google.com의 IP 주소(예: 142.250.190.46)를 반환합니다.

3. TCP/SSL 연결 설정

DNS 응답을 통해 얻은 IP 주소를 사용하여 브라우저는 Google 서버와 연결을 시도

3-Way Handshake (TCP 연결)

  1. 클라이언트 → 서버: SYN 패킷 전송
  2. 서버 → 클라이언트: SYN-ACK 응답
  3. 클라이언트 → 서버: ACK 응답 → 연결 완료

TLS/SSL 핸드셰이크 (HTTPS인 경우)

  • Google은 HTTPS를 사용하기 때문에, TLS/SSL 핸드셰이크를 수행하여 보안 연결을 설정
  • 브라우저는 서버의 SSL 인증서를 확인하고 데이터를 암호화

4. HTTP 요청 전송

연결이 완료되면 브라우저는 Google 서버에 HTTP 요청을 보냄

  • 요청 방식: GET / (홈페이지 요청)
  • 요청 헤더: User-Agent, Accept-Language, Cookie 등 포함
  • 캐시 여부 확인 (304 Not Modified 응답 가능)

5. 서버가 요청을 처리하고 응답 반환

Google 서버는 사용자의 요청을 처리한 후, 다음과 같은 데이터를 응답으로 보냄

  • HTTP 상태 코드: 200 OK (성공), 301 Moved Permanently (리다이렉트) 등
  • HTML, CSS, JavaScript, 이미지, 폰트 등 리소스 반환
  • 쿠키 및 세션 정보 설정 가능

6. 브라우저가 HTML을 렌더링

브라우저는 받은 HTML을 해석하고 웹페이지를 표시

렌더링 과정

  1. DOM(Document Object Model) 생성 - HTML을 파싱하여 구조화된 트리 형태의 DOM 생성
  2. CSSOM(CSS Object Model) 생성 - CSS를 파싱하여 스타일 정보 적용
  3. JavaScript 실행 - 동적 기능 활성화
  4. 레이아웃 및 페인팅 - 화면에 요소를 배치하고 렌더링 수행

면접에서 어떻게 답변하면 좋을까?

면접에서는 핵심 단계를 논리적으로 정리해서 답변하는 것이 중요하다.

예시 답변:

"사용자가 google.com을 입력하면, 브라우저는 먼저 DNS 조회를 통해 해당 도메인의 IP 주소를 찾습니다. 이후, 해당 IP로 TCP/SSL 핸드셰이크를 수행하여 서버와 안전한 연결을 설정합니다. 그런 다음, 브라우저는 HTTP 요청을 보내고 Google 서버는 HTML, CSS, JavaScript 등의 리소스를 응답으로 반환합니다. 마지막으로 브라우저는 이를 해석하고 렌더링하여 사용자에게 웹페이지를 보여줍니다."

이런 방식으로 설명하면, 네트워크 및 웹 동작 과정에 대한 깊은 이해를 보여줄 수 있습니다.


결론

이 질문은 단순한 듯하지만, 네트워크, 웹 브라우저, HTTP 프로토콜, 렌더링 과정 등 다양한 개념이 포함된 중요한 면접 질문입니다. 따라서 각 단계를 이해하고, 논리적으로 설명할 수 있도록 정리하는 것이 중요합니다.

728x90

댓글