웹 상의 현존 컨텐트가 표준을 따르지 않거나 표준 호환 브라우저에서 의도하지 않은 방식으로 보이기 때문에, Mozilla는 일부 컨텐트는 하위 호환성이 있는 방식으로 일부 컨텐트는 표준에 따라 처리합니다.
레이아웃 엔진이 쓰는 모드는 하위 호환(quirks) 모드, 거의 표준(almost standards) 모드, 그리고 완전 표준(full standards) 모드 셋입니다. 하위 호환 모드에서, 레이아웃은 웹 상의 현존 컨텐트를 깰(break) 필요가 없는 Windows용 Navigator 4와 MSIE에서 비표준 behavior를 에뮬레이트합니다. 완전 표준 모드에서, behavior는 (잘하면) HTML과 CSS 명세에 기술된 behavior입니다. 거의 표준 모드에서는, 구현된 quirk(는 거의 표준 모드를 쓰게 하는 DOCTYPE을 쓰는 웹 상의 실제 페이지를 깸) 수가 아주 조금 밖에 없습니다.
Mozilla가 쓸 모드를 어떻게 결정하는가?
text/html로 보낸 문서의 경우, Mozilla는 하위 호환 모드나 표준 모드 가운데 어느 쪽으로 문서를 처리할지 결정해야 합니다(text/xml 또는 다른 XML이나 XHTML MIME 형으로 보낸 컨텐트는 항상 strict 모드로 처리됨). 현재 Mozilla는 이 결정을 DOCTYPE sniffing을 통해 수행합니다. 즉, 페이지가 모든 표준 behavior가 쓰일 때 정확히 작동하기를 기대할 수 있는 최근 작성된 웹 페이지인지에 관한 암시로서 DOCTYPE 선언(DTD)을 씁니다. DOCTYPE sniffing이 어떻게 레이아웃 모드를 결정하는데 쓰이는지는 상세한 설명 참조.
DTD가 원래 다른 이유로 있기 때문에, 페이지의 DTD를 바꾸지 않고 레이아웃 모드를 설정(또는 제안)할 수 있게 하는 요구가 제작자들에게 있어 왔습니다. 지금까지는 그러한 메서드가 구현되지 않았지만, 주된 계획은 문서 헤드(head)의 META 요소를 통해 접근할 수도 있는 HTTP 헤더입니다.
모드 사이의 차이점은 무엇인가?
모드 사이의 차이점은 quirk 목록 참조.