현대 웹 브라우저는 웹 표준에 따라 작성된 웹 페이지와 1990년대 후반에 널리 퍼진 이전 관행에 따라 작성된 웹 페이지를 처리하기 위해 다양한 엔진 모드를 구현합니다. 이 문서에서는 이러한 패턴이 무엇이며 이를 트리거하는 방법을 설명합니다.
원문: Henri Sivonen 의 Doctype으로 브라우저 모드 활성화
이 문서에 포함된 모드 전환은 Firefox 및 기타 Gecko 기반 브라우저, Safari, Chrome 및 기타 Webkit 기반 브라우저, Opera, Konqueror, Mac용 Internet Explorer, Windows용 Internet Explorer 및 IE 내장 브라우저 장치에 적용됩니다. 브라우저 엔진의 이름을 언급하는 것을 피하고 대신 해당 엔진에 대해 가장 잘 알려진 브라우저의 이름을 사용하십시오.
이 문서에서는 각 모드의 정확한 동작을 문서화하기보다는 모드 선택 메커니즘에 중점을 둡니다.
다양한 모드는 다음과 같습니다.
text/html 콘텐츠에 대한 모드 선택은 문서 유형 스니핑에 따라 다릅니다( 이 기사의 뒷부분에서 설명 ). IE8에서는 모드가 다른 요인에 따라 달라집니다. 그러나 IE8에서는 기본적으로 Microsoft의 블랙리스트에 없는 비인트라넷 사이트의 모드가 문서 유형에 따라 다릅니다.
이 문서에서는 패턴의 정확한 동작이 동일하게 논의되지만 브라우저마다 패턴의 정확한 동작이 다르다는 점은 아무리 강조해도 지나치지 않습니다.
Firefox, Safari, Chrome 및 Opera에서 application/xhtml+xml HTTP 콘텐츠 유형(메타 요소나 doctype이 아님!)은 XML 모드를 트리거합니다. XML 모드에서 브라우저는 브라우저에 지정된 범위 내에서 XML 문서 사양에 맞는 처리를 제공하려고 시도합니다.
E6, 7, 8은 application/xhtml+xml을 지원하지 않으며 Mac IE5도 지원하지 않습니다.
WebKit 기반 Nokia S60 브라우저에서 application/xhtml+xml HTTP 컨텐츠 유형은 XML 모드를 트리거할 수 없습니다. 모바일 월드 가든의 관심사는 비표준 컨텐츠와의 호환성이기 때문입니다. ( 이전 "모바일 브라우저"는 비표준 콘텐츠가 이미 XML로 태그 지정되어 있으므로 실제 XML 파서를 사용할 수 없습니다 .)
Konqueror를 충분히 테스트하지 않으면 이 브라우저에서 무슨 일이 일어날지 정확히 말할 수 없습니다.