브라우저 엔진
Browser engine브라우저 엔진(레이아웃 엔진 또는 렌더링 엔진이라고도 함)은 모든 주요 웹 브라우저의 핵심 소프트웨어 구성요소다.브라우저 엔진의 주요 업무는 HTML 문서와 웹 페이지의 다른 자원을 사용자의 장치에 있는 대화형 시각적 표현으로 변환하는 것이다.
이름 및 범위
브라우저 엔진은 독립형 컴퓨터 프로그램이 아니라 용어가 파생된 웹 브라우저와 같은 더 큰 프로그램의 중요한 부분이다.(엔진이란 말은 자동차의 엔진과 비유한 말이다.)
"브라우저 엔진" 외에 관련 개념과 관련하여 공통적으로 사용되는 용어는 "레이아웃 엔진"과 "렌더링 엔진"[1][2][3]이다.이론적으로 레이아웃과 렌더링(또는 "도장")은 별도의 엔진에 의해 처리될 수 있다.그러나 실제로는 굳게 결합되어 있으며 별도로 고려하는 경우는 거의 없다.
브라우저 엔진은 레이아웃과 렌더링 외에도 문서 간 보안 정책을 시행하고, 하이퍼링크를 통한 내비게이션과 양식을 통해 제출된 데이터를 처리하며, 페이지 스크립트에 노출되는 DOM(Document Object Model) 데이터 구조를 구현한다.
그러나 모든 주요 웹 브라우저가 이를 위해 전용 엔진을 사용하기 때문에 자바스크립트(JS) 코드를 실행하는 것은 별개의 문제다.JS 언어는 원래 브라우저에서 사용하기 위해 만들어졌지만, 지금은 다른 곳에서도 사용되고 있기 때문에 JS 엔진의 구현은 브라우저 엔진에서 분리된다.웹 브라우저에서 두 엔진은 공유 DOM 데이터 구조를 통해 함께 작동한다.
브라우저 엔진은 웹 브라우저 외에 다른 유형의 프로그램에 사용된다.이메일 클라이언트는 HTML 이메일을 표시하기 위해 그것들이 필요하다.구글 크롬 브라우저의 두 엔진에 의해 구동되는 일렉트로닉 프레임워크는 많은 어플리케이션을 만드는데 사용되었다.
레이아웃 및 렌더링
웹 페이지의 레이아웃은 일반적으로 CSS(Cascading Style Sheets)로 지정된다.각 스타일시트는 브라우저 엔진이 해석하는 일련의 규칙이다.예를 들어, 일부 규칙은 글꼴, 색상, 텍스트 크기와 같은 타이포그래피 세부사항을 지정한다.엔진은 모든 관련 CSS 규칙을 결합하여 화면에 그릴 시각적 표현에 대한 정확한 그래픽 좌표를 계산한다.[1]
일부 엔진은 페이지의 모든 리소스가 다운로드되기 전에 렌더링을 시작할 수 있다.이로 인해 영상이 점차 채워지거나 콘텐츠의 섬광과 같이 더 많은 데이터가 수신됨에 따라 시각적 변화가 발생할 수 있다.
주목할 만한 엔진
- 애플은 사파리 브라우저용 웹킷 엔진을 KDE 프로젝트의 KHTML 엔진으로 제작했다.[4]iOS용 모든 브라우저는 그들의 엔진으로 WebKit를 사용해야 한다.[5]
- 구글은 원래 크롬 브라우저에 웹킷을 사용했지만 결국 블링크 엔진을 만들기 위해 웹킷을 포기했다.[6]모든 크롬 기반 브라우저는 CEF, Electron 또는 크롬을 내장한 다른 프레임워크로 구축된 애플리케이션처럼 블링크(Blink)를 사용한다.
- Microsoft는 MSHTML과 Edge라는 두 개의 독점 엔진을 가지고 있다.HTML. MSHTML은 Internet Explorer 브라우저에서 사용된다.엣지HTML은 엣지 브라우저의 원래 엔진이었지만, 그것은 블링크 엔진으로 리메이크되었다.[7]
- Mozilla는 Firefox 브라우저, Thunderbird e-메일 클라이언트 및 SeaMonkey 인터넷 제품군을 위해 Gecko 엔진을 개발한다.[2]
타임라인
활성 개발 기간만 표시되며, 이는 관련 새로운 웹 표준이 엔진에 계속 추가되는 시점이다.

참조
- ^ a b "Behind the scenes of modern web browsers". Tali Garsiel. Retrieved 2018-04-21.
- ^ a b "Gecko". Mozilla. Retrieved 2018-04-21.[영구적 데드링크]
- ^ "Introducing Goanna". M.C. Straver. 2015-06-22. Retrieved 2018-04-21.
- ^ Paul Festa (2003-01-14). "Apple snub stings Mozilla". CNET Networks. Archived from the original on 2012-10-25. Retrieved 2017-02-16.
- ^ "Open-sourcing Chrome on iOS!". 2017. Retrieved 26 April 2021.
- ^ Bright, Peter (April 3, 2013). "Google going its own way, forking WebKit rendering engine". Ars Technica. Conde Nast. Retrieved March 9, 2017.
- ^ Mackie, Kurt (10 December 2018). "Microsoft Edge Browser To Get New Rendering Engine but EdgeHTML Continues". Redmond Mag. Retrieved 21 December 2019.