KHTML는 KDE(코넬 데스크톱 환경) 프로젝트에서 개발한 오픈소스 웹 페이지 렌더링 엔진이다. 주로 KDE의 웹 브라우저인 Konqueror에서 사용되었으며, 이후 WebKit과 같은 파생 엔진의 기반이 되었다.
개요
- 유형: 웹 페이지 렌더링 엔진(HTML, CSS, JavaScript 등을 파싱·렌더링)
- 주요 언어: C++
- 라이선스: GNU 일반 공중 사용 허가서(GPL) 버전 2
- 개발 주체: KDE 프로젝트 커뮤니티
역사
- 1998년 KDE 프로젝트의 일환으로 처음 개발되었다. 초기 버전은 KDE 1.x와 함께 배포된 Konqueror에 통합되어 사용되었다.
- 2001년 KDE 2.0에서 KHTML이 크게 개선되면서 표준에 부합하는 HTML·CSS 구현을 제공하였다.
- 2002년 Apple이 KHTML 코드를 기반으로 WebKit을 포크(fork)하여 Safari 웹 브라우저에 적용하였다. WebKit은 이후 Google Chrome 등 다양한 브라우저에 채택되면서 KHTML의 영향을 확대시켰다.
- 2006년 KDE 4.0부터는 KHTML 대신 WebKit을 기본 엔진으로 채택하였다. 이후 KHTML은 점차 사용이 축소되었으며, 현재는 주로 교육용·역사적 목적이나 레거시 시스템에서만 유지되고 있다.
기술적 특징
- 표준 지원: HTML 4.01, XHTML 1.0, CSS 2.1 등을 기본적으로 지원한다. 일부 최신 표준(HTML5, CSS3)은 제한적으로 구현되어 있다.
- 구조: 파서(parser), 스타일 시스템(style system), 레이아웃 엔진(layout engine) 등으로 구성되며, DOM(Document Object Model) 트리를 생성한다.
- 성능: 경량 엔진으로 설계되어 저사양 환경에서도 비교적 빠른 렌더링을 제공한다.
- 확장성: 플러그인 아키텍처를 통해 추가 기능(예: 이미지 포맷 지원, 스크립트 엔진) 을 삽입할 수 있다.
어원 및 명칭
- K는 "KDE"를, HTML은 "HyperText Markup Language"를 의미한다. 따라서 “KHTML”은 “KDE용 HTML 엔진”이라는 의미로 해석된다.
현재 상황
- KDE 프로젝트는 공식적으로 KHTML을 새로운 개발 대상에 포함하지 않는다. 그러나 KHTML 소스 코드는 KDE의 저장소에 보존되어 있으며, 오픈소스 라이선스에 따라 자유롭게 접근·수정이 가능하다.
- WebKit 및 Blink와 같은 파생 엔진이 현재 웹 브라우저 시장을 주도하고 있다. KHTML은 이러한 엔진의 원천 기술 중 하나로 기록된다.