브라우저는 어떻게 동작하는가?

이글은 NAVER D2 - 브라우저는 어떻게 동작하는가?를 정리한 글입니다.

주요 기능

사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것.

자원

  • HTML
  • PDF
  • 이미지
  • 또는 다른 형태

자원의 주소

URI(Uniform Resource Identifier)에 의해 정해진다.

기본 구조

image

사용자 인터페이스

요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다.

  • 주소 표시줄
  • 이전/다음 버튼
  • 북마크 메뉴 등

브라우저 엔진

사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어.

렌더링 엔진

요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시함.

종류

  • 파이어폭스는 모질라에서 직접 만든 게코(Gecko) 엔진
  • 사파리와 크롬은 웹킷(Webkit) 엔진을 사용한다.

동작 과정

WIP

통신

HTTP 요청과 같은 네트워크 호출에 사용됨. 이것은 플랫폼 독립적인 인터페이스이고 각 플랫폼 하부에서 실행됨.

UI 백엔드

콤보 박스와 창 같은 기본적인 장치를 그림. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS 사용자 인터페이스 체계를 사용.

자바스크립트 해석기

자바스크립트 코드를 해석하고 실행.

자료 저장소

이 부분은 자료를 저장하는 계층이다. 쿠키를 저장하는 것과 같이 모든 종류의 자원을 하드 디스크에 저장할 필요가 있다. HTML5 명세에는 브라우저가 지원하는 '웹 데이터 베이스'가 정의되어 있다.