브라우저 엔진

Browser engine

브라우저 엔진(레이아웃 엔진 또는 렌더링 엔진이라고도 함)은 모든 주요브라우저의 핵심 소프트웨어 구성요소다.브라우저 엔진의 주요 업무는 HTML 문서와 웹 페이지의 다른 자원을 사용자의 장치에 있는 대화형 시각적 표현으로 변환하는 것이다.

이름 및 범위

브라우저 엔진은 독립형 컴퓨터 프로그램이 아니라 용어가 파생된 웹 브라우저와 같은 더 큰 프로그램의 중요한 부분이다.(엔진이란 말은 자동차의 엔진과 비유한 말이다.)

"브라우저 엔진" 외에 관련 개념과 관련하여 공통적으로 사용되는 용어는 "레이아웃 엔진"과 "렌더링 엔진"[1][2][3]이다.이론적으로 레이아웃렌더링(또는 "도장")은 별도의 엔진에 의해 처리될 수 있다.그러나 실제로는 굳게 결합되어 있으며 별도로 고려하는 경우는 거의 없다.

브라우저 엔진은 레이아웃과 렌더링 외에도 문서 간 보안 정책을 시행하고, 하이퍼링크를 통한 내비게이션과 양식을 통해 제출된 데이터를 처리하며, 페이지 스크립트에 노출되는 DOM(Document Object Model) 데이터 구조를 구현한다.

그러나 모든 주요 웹 브라우저가 이를 위해 전용 엔진을 사용하기 때문에 자바스크립트(JS) 코드를 실행하는 것은 별개의 문제다.JS 언어는 원래 브라우저에서 사용하기 위해 만들어졌지만, 지금은 다른 곳에서도 사용되고 있기 때문에 JS 엔진의 구현은 브라우저 엔진에서 분리된다.웹 브라우저에서 두 엔진은 공유 DOM 데이터 구조를 통해 함께 작동한다.

브라우저 엔진은 웹 브라우저 외에 다른 유형의 프로그램에 사용된다.이메일 클라이언트HTML 이메일을 표시하기 위해 그것들이 필요하다.구글 크롬 브라우저의 두 엔진에 의해 구동되는 일렉트로닉 프레임워크는 많은 어플리케이션을 만드는데 사용되었다.

레이아웃 및 렌더링

웹 페이지의 레이아웃은 일반적으로 CSS(Cascading Style Sheets)로 지정된다.각 스타일시트는 브라우저 엔진이 해석하는 일련의 규칙이다.예를 들어, 일부 규칙은 글꼴, 색상, 텍스트 크기와 같은 타이포그래피 세부사항을 지정한다.엔진은 모든 관련 CSS 규칙을 결합하여 화면에 그릴 시각적 표현에 대한 정확한 그래픽 좌표를 계산한다.[1]

일부 엔진은 페이지의 모든 리소스가 다운로드되기 전에 렌더링을 시작할 수 있다.이로 인해 영상이 점차 채워지거나 콘텐츠의 섬광과 같이 더 많은 데이터가 수신됨에 따라 시각적 변화가 발생할 수 있다.

주목할 만한 엔진

타임라인

활성 개발 기간만 표시되며, 이는 관련 새로운 웹 표준이 엔진에 계속 추가되는 시점이다.

참조

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