Servo 브라우저 엔진, 6월에만 558건 커밋: 실제 사이트 호환성은 어디까지 왔나

브라우저 엔진 Servo가 6월에만 558건의 커밋을 반영하며 역대 최고치를 기록했습니다. lichess·Zulip 등 실사이트 호환성도 함께 공개됐습니다.

Servo 0.4.0의 2026년 6월 개발 현황: 558건 반영, BoxFragment 메모리 17% 감소, 2D 캔버스 전력 소비 최대 23% 감소를 보여주는 요약 도식
Servo 0.4.0의 6월 개발·성능 핵심 수치를 정리한 대표 도식이다.

브라우저 엔진 프로젝트 Servo가 7월 31일 공식 블로그에 6월 개발 현황을 정리해 공개했다. 이번 업데이트를 담은 버전은 Servo 0.4.0이며, 6월 한 달간 558건의 커밋이 반영됐다. 4월 534건, 5월 391건과 비교하면 다시 최고 기록을 갈아치운 셈이다. Servo는 Rust로 작성된 실험적 브라우저 엔진으로, 크롬이나 파이어폭스처럼 최종 사용자용 브라우저라기보다는 다른 애플리케이션에 임베드해서 쓸 수 있는 가벼운 웹 렌더링 엔진을 만드는 것이 목표인 프로젝트이다.

2026년 4월 534건, 5월 391건, 6월 558건으로 Servo 공식 블로그가 공개한 월별 커밋 수를 세로 카드로 정리한 도식
2026년 4~6월 공개 커밋 수를 비교한 도식이다.

실제 웹사이트에서 확인된 호환성 개선

이번 업데이트에서 가장 실감 나는 부분은 실제로 쓰이는 웹사이트에서 확인된 개선 사항이다. 체스 사이트 lichess.org에서는 레이아웃 정확도가 크게 좋아졌고, 가변 폰트(variable font) 처리가 개선되면서 Zulip(servo.zulipchat.com)과 Speedtest(speedtest.net) 같은 사이트의 텍스트 가독성이 눈에 띄게 나아졌다. Servo 팀은 0.3.0과 0.4.0에서 같은 페이지를 캡처한 비교 스크린샷을 함께 공개했다. Google Photos와 Cash Converters 같은 사이트는 이전 버전에서도 이미 잘 동작했고 이번 버전에서도 계속 잘 작동한다. 반면 Google Maps와 OpenStreetMap은 화면 자체는 잘 그려지지만 상호작용(클릭, 드래그 등)에 아직 문제가 남아 있다고 팀은 솔직하게 밝히고 있다.

Servo 0.4.0 공식 업데이트에 언급된 lichess.org, Zulip, Speedtest, Google Photos, Cash Converters, Google Maps, OpenStreetMap의 렌더링과 상호작용 상태를 카드로 정리한 도식
공식 업데이트에 언급된 실사이트 상태를 렌더링과 상호작용의 차이로 정리했다.

새로 들어온 웹 표준 기능들

이번 버전에는 CSS의 미디어 쿼리 기능이 여럿 추가됐다. 기기의 실제 폭·높이를 기준으로 하는 device-width·device-height, 화면 비율을 확인하는 aspect-ratio, 화면 방향을 확인하는 orientation, 입력 장치의 정밀도를 확인하는 pointer·hover 관련 미디어 쿼리가 여기에 포함된다. DOM API 쪽에서는 여러 탭이나 창 사이에서 작업을 공유할 수 있는 SharedWorker, 웹 컴포넌트 등록을 다루는 새로운 customElementRegistry API 등이 추가됐다. 개발자 입장에서는 이런 기능들이 실제 서비스에서 쓰는 조건부 스타일링이나 반응형 레이아웃, 백그라운드 작업 처리와 직결되는 항목들이다.

보안 패치: 임베드된 JS 엔진 업데이트

Servo 0.4.0의 SpiderMonkey 140.11.0과 140.12.0 보안 업데이트, file 디렉터리 XSS 수정, RSA 상수 시간 연산 변경을 카드로 정리한 도식
6월 업데이트의 JavaScript 런타임과 로컬 파일 처리 보안 변경을 정리했다.

Servo는 자바스크립트 실행을 위해 SpiderMonkey 엔진(파이어폭스와 같은 엔진)을 내장하고 있는데, 이번 버전에서 SpiderMonkey를 140.11.0과 140.12.0으로 순차 업데이트하면서 CVE-2026-8388, CVE-2026-8391, CVE-2026-8974, CVE-2026-8975 등 여러 보안 취약점을 함께 패치했다. 이 외에도 file:/// 방식으로 로컬 디렉터리 목록을 열람할 때, 파일 이름에 </script>가 포함되면 발생하던 HTML 삽입(XSS) 취약점도 이번 버전에서 수정됐다. RSA 연산은 이제 상수 시간(constant-time)으로 처리되도록 바뀌었지만, RSA 구현 자체는 아직 Marvin Attack이라는 알려진 취약점에 노출돼 있다는 점도 팀은 함께 명시했다.

성능: 메모리 사용량과 전력 소비 개선

수치로 확인되는 개선도 여럿이다. 레이아웃에서 자주 쓰이는 내부 자료구조인 BoxFragment의 크기가 amd64 기준 288바이트에서 240바이트로 17% 줄었다. 2D 캔버스의 전력 소비는 최대 23% 줄었고, 같은 SVG를 반복해서 래스터화(rasterize)하지 않도록 개선됐다. 이미지 디코딩과 이미지 캐시 채우기도 비동기로 처리되도록 바뀌어, 웹 콘텐츠를 처리하는 스크립트 스레드가 다른 작업에 쓸 시간을 더 확보했다. 지속적인 퍼징(fuzzing) 작업 덕분에 6월 한 달에만 16건의 크래시 버그가 수정됐다는 점도 함께 공개됐다. Servo는 여전히 실험적 엔진이며, 이번 글의 호환성 정보도 특정 시점 기준이다.


출처: Servo, June in Servo: real world compat, media queries, SharedWorker, and more!