Afaik

브라우저 주소창에 URL을 입력했을 때 일어나는 과정

중요도: ⭐⭐⭐⭐⭐

이 질문은 웹 개발의 전체적인 이해도를 평가하는 핵심 질문입니다.

브라우저 주소창에 URL을 입력했을 때 다음과 같은 과정이 일어납니다:

1. URL 파싱

  • 브라우저가 입력된 URL을 파싱하여 프로토콜, 도메인, 포트, 경로 등을 분석
  • 입력된 문자열이 유효한 URL인지 검증

2. DNS 조회

  • 브라우저 캐시에서 도메인의 IP 주소 확인
  • 없으면 OS 캐시, 라우터 캐시, ISP 캐시 순서로 확인
  • 모든 캐시에 없으면 DNS 서버에 요청하여 IP 주소 조회
  • 계층적 DNS 조회: 루트 → TLD → 권한 있는 네임서버

3. TCP 연결 설정

  • IP 주소를 얻은 후 해당 서버와 TCP 3-way handshake 수행
  • SYN → SYN-ACK → ACK 패킷 교환으로 연결 설정

4. HTTPS의 경우 TLS 핸드셰이크

  • SSL/TLS 인증서 검증
  • 암호화 키 교환
  • 보안 연결 설정

5. HTTP 요청 전송

  • GET, POST 등의 HTTP 메서드로 요청 전송
  • Headers, Body 등 필요한 데이터 포함

6. 서버 응답

  • 서버가 요청을 처리하고 HTTP 응답 반환
  • 상태 코드 (200, 404, 500 등)
  • Response Headers
  • HTML, CSS, JS 등의 리소스

7. 브라우저 렌더링

  • HTML 파싱하여 DOM Tree 구성
  • CSS 파싱하여 CSSOM Tree 구성
  • DOM + CSSOM = Render Tree 생성
  • Layout(Reflow) 계산
  • Paint 및 Composite

8. 추가 리소스 로드

  • HTML 내 참조된 CSS, JS, 이미지 등 추가 요청
  • 병렬로 다운로드 및 처리
  • JavaScript 실행으로 DOM 조작 가능

면접 팁

이 질문은 웹 개발 전반에 대한 이해도를 평가하는 핵심 질문입니다. 각 단계를 순서대로 설명하되, DNS 캐싱, HTTP 캐싱, 브라우저 렌더링 최적화 등 성능 관련 내용과 실무 경험을 함께 언급하면 더욱 좋은 인상을 줄 수 있습니다.

Edit on GitHub

Last updated on