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