브라우저는 어떻게 동작하는가?
이글은 NAVER D2 - 브라우저는 어떻게 동작하는가?를 정리한 글입니다.
주요 기능
사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것.
자원
- HTML
- 이미지
- 또는 다른 형태
자원의 주소
URI(Uniform Resource Identifier)에 의해 정해진다.
기본 구조
사용자 인터페이스
요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다.
- 주소 표시줄
- 이전/다음 버튼
- 북마크 메뉴 등
브라우저 엔진
사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어.
렌더링 엔진
요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시함.
종류
- 파이어폭스는 모질라에서 직접 만든 게코(Gecko) 엔진
- 사파리와 크롬은 웹킷(Webkit) 엔진을 사용한다.
동작 과정
WIP
통신
HTTP 요청과 같은 네트워크 호출에 사용됨. 이것은 플랫폼 독립적인 인터페이스이고 각 플랫폼 하부에서 실행됨.
UI 백엔드
콤보 박스와 창 같은 기본적인 장치를 그림. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS 사용자 인터페이스 체계를 사용.
자바스크립트 해석기
자바스크립트 코드를 해석하고 실행.
자료 저장소
이 부분은 자료를 저장하는 계층이다. 쿠키를 저장하는 것과 같이 모든 종류의 자원을 하드 디스크에 저장할 필요가 있다. HTML5 명세에는 브라우저가 지원하는 '웹 데이터 베이스'가 정의되어 있다.