브라우저 엔진

브라우저 엔진(browser engine)은 주된 모든 웹 브라우저의 핵심이 되는 소프트웨어 구성 요소이다. 브라우저 엔진의 주된 역할은 HTML 문서와 기타 자원의 웹 페이지를 사용자의 장치에 상호작용적인 시각 표현으로 변환시키는 것이다.

이름과 적용 범위 
브라우저 엔진은 독립적인 컴퓨터 프로그램이 아닌 웹 브라우저와 같은 더 큰 프로그램의 중요한 부분이며, 여기에서 이 용어가 파생되었다. ("엔진"이라는 용어는 자동차 엔진과 유사성이 있다.)

"브라우저 엔진" 외에 2가지 다른 용어가 관련 개념과 관련하여 일반적으로 사용된다: "레이아웃 엔진", "렌더링 엔진"'. 이론적으로 레이아웃과 렌더링(또는 페인팅)은 별도의 엔진에 의해 관리될 수 있다. 그러나 실제로는 이 둘은 서로 밀접히 결합되어 있으며 따로 떼어서 간주하는 일은 드물다.

게다가 레이아웃과 렌더링 외에 브라우저 엔진은 문서들 간의 보안 정책을 강제하며 페이지 스크립트에 노출되는 문서 객체 모델(DOM) 자료 구조를 구현한다. 또, 하이퍼링크와 웹 폼을 관리한다.

그러나 자바스크립트(JS) 코드를 실행하는 일은 별개의 문제인데, 주된 모든 웹 브라우저는 이를 위한 전용 엔진을 사용하기 때문이다. JS 언어는 원래 브라우저에 사용하기 위해 개발되었으나 현재는 그 외의 장소에서도 사용되므로 JS 엔진의 구현체는 브라우저 엔진과는 분리되고 있다. 웹 브라우저에서 2개의 엔진은 공유되는 DOM 자료 구조를 통해 조화롭게 동작한다.

브라우저 엔진은 웹 브라우저 외에도 다른 종류의 프로그램들에 사용될 수 있다.(마치, 다른 종류의 자동차가 동일한 엔진으로 제조될 수 있는 것처럼) 이를테면 이메일 클라이언트는 HTML 이메일의 표시를 위해 브라우저 엔진이 필요할 수 있다. 구글 크롬 브라우저의 2개의 엔진의 지원을 받는 일렉트론 프레임워크는 수많은 애플리케이션을 개발하기 위해 사용되고 있다.

저명한 엔진

타임라인

같이 보기 
 게임 엔진
 렌더링
 페이지 기술 언어

각주 

 
웹 브라우저