티스토리 뷰

1. DTD란 무엇인가?
  HTML
(Hypertext Markup Language)은 마크업 문서이다.
모든 마크업은 어떠한 형식을 따르는 문서인지 명시해주는  DTD(Document Type Definition)(문서형 정의) 가 존재해야한다.

  마크업언어는 DTD를 명시하여 파서 마크업을 해석하게하며 문서검사기(validator)도 DTD를 기준으로 검사를 수행한다.
웹브라우저에서 HTML문서를 해석하기는 기준이되고 결과적으로 렌더링의 차이가 발생할수 있다.
마크업의 DTD를 먼저읽고 그 기준으로 마크업을 해석하므로 DTD는 항상 최상단에 존재해야만한다.

※ HTML 페이지가 원하는대로 나오지 않는다고 DTD를 주석처리하는 행위는 잘못된것임돠~

2. DTD의 구성
  DTD는 공개식별자 + 시스템 식별자로 구성된다.
주로 사용되는 식별자
  • HTML 4.01
  • XHTML 1.0
  • XHTML 1.1
DTD의 특징에 따른 구분
  • 트랜지셔널(Transitinal) :: 호환모드
  • 스트릭트(Strict)            :: 엄격
  • 프레임셋(Frameset)      :: 프레임구성페이지에서 사용
  • 모바일(Mobile)             :: 모바일 페이지 사용 (XHTML만 존재)
일반적인 웹 HTML 문서라면 Transitinal or Strict 를 주로 사용하게 될것이다.

3. DTD의 종류
  • HTML 4.01 Strict DTD
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

  • HTML 4.01 Transitinal) DTD
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

  • HTML 4.01 Frameset DTD
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"  "http://www.w3.org/TR/html4/frameset.dtd">

  • XHTML 1.0 Strict DTD
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

  • XHTML 1.0 Transitinal DTD
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  • XHTML 1.0 Frameset DTD
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

  • XHTML 1.0 Mobile DTD
    <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

3. DTD의 이해 :: Quirks Mode(브라우저 호환모드)
  • Quirks Mode는?
    • 점점 표준에 가깝게 개선된 웹브라우저들이 그렇지 못한 오래된 웹페이지들을 정상적으로 보여주기 위해 최신 버전의 브라우저에서 제공하는 호환모드
  • Quirks Mode로 동작하는 경우
    • DTD를 선언하지 않거나 잘못 선언한 경우
    • HTML 4.01 문서에서 시스템 식별자를 지정하지 않는 경우
    • <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  • Quirks Mode의 문제점
    • Quirks Mode는 비표준 모드로서 브라우저에 따라 호환시키려고 하는 요소들이 다르기에 브라우저에 따라 다르게 보여질 수 있는 문제가 있음 예) IE와 다른 브라우저 간의 Box Model 해석 차이 등등
브라우저의 렌더링 종류(??)
  • Q : Quirks Mode
  • A : Almost Standards Mode
  • S : Standards Mode
4. DTD의 필요성
  DTD 표준에 맞는 코드작성을 통한 브라우저별 차이를 최소화 하고 동일한 UI 구성 및 유지보수시 문제파악이 용이


5. DTD의 선택
  DTD의 선택은 절대적인 환경이 아니기 때문에 여러요소를 고려하여 제작자가 선택하면 된다.
Transitinal 이라고 하여 Strict 보다 수준이 낮거나 한것은 아니므로 환경에 맞춰서 선택하면 될것이다.



여기저기서 주워모아본 정보 정리~
CSS 책을 보면 호환모드에서 IE호환모드에서 발생하는 문제점을 IE의 절대적 문제인양 예기하는 경우를 보게되는데
DTD와 관련지어서 설명해야하지 않을까 라고 말은해보지만 그럼 책이 -_- 엄청 굵어질것 같네.. ㅋ
CSS 책을 몇권 안봤지만.. 일반적인 프로그래밍 책보다는 상대적으로 얆더라는..

'IT 관련 > FrontEnd' 카테고리의 다른 글

정통부 주민등록번호 체크 JavaScript  (0) 2009.03.12
메타태그  (0) 2009.03.12
TAG :: FORM  (0) 2009.03.11
TAG :: Table  (0) 2009.03.11
Internet Explore Javascript Event  (0) 2009.03.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함