Note/그밖에

DTD & Charset

Delia :D 2010. 12. 24. 16:00

DTD(Document Type Definition)선언

- 모든 웹 문서는 적절한 문서타입을 명시해야 한다.

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
<?xml:namespace prefix = o />
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
<?xml:namespace prefix = v />
<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />
<?xml:namespace prefix = w />


- 모든 웹 문서는 올바르게 DOCTYPE(DTD)를 선언하여 문서의 Type을 반드시 명시해야 한다.

- 웹 문서는 선언된 DOCTYPE의 형식에 따라 문법을 준수하여 작성되기 때문에 DOCTYPE을 반드시 선언해야 하며, W3C에서 제시하는 기본적인 웹 표준 필수 요소를 포함해야 한다.

- DTD는 문서의 정보 모델을 구체적으로 서술한 것으로 엘리먼트 타입 선언, 어트리뷰트 리스트 선언, 엔티티 선언, 표기선언 등 4개의 부류로 구성되어 있다.

- DTD를 기준으로 하여 W3C에서 제공하는 문법 검사기(Validator)로 문서가 제대로 작성되어있는지를 확인할 수 있고, 이를 사용하여 문법 검사 및 유지보수가 가능하다.

 

사용의 예
HTML 4.01 Transitional

- 휴소프트 웹 개발표준 공식 DTD
- 별도의 협의가 없거나 신규 서비스 개발시 사용
- DTD와 관계없이 모든 요소(Element)와 속성(Properties)은 영문 소문자로 마크업 한다.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>사이트 세부 타이틀</title>

 

설명
- DTD의 선언으로 웹 브라우저에 DTD 정보를 알려주고, 브라우저 형식에 따라 콘텐츠를 적절하게 나타낼 수 있다. DTD로 선언하는 HTML, XHTML 버전은 브라우저마다 해석하는데 차이가 있기 때문에 반드시 DTD를 선언해야 한다.
- DTD는 최상위 엘리먼트(<html>) 이전에 W3C에서 제공한 Doctype으로 선언되어야 하며 이를 이용하여 웹 문서를 구성해야 한다.
- IE의 경우에는 표준 랜더링 방식과 다른 랜더링 모드를 유지해왔으며 하위버전의 브라우저 지원을 위해 IE는 호환 랜더링과 표준 랜더링 두 개의 랜더링 모드를 지원하고 있다. 호환 랜더링 모드는 IE 하위 버전을 위한 이전 IE 랜더링 방식을 유지하는 모드이고, 표준 랜더링은 W3C CSS 스펙에 의거한 랜더링 모드를 의미한다. 새로 구축하는 사이트는 앞으로 표준 랜더링 방식을 사용하는 것이 좋다.
 

기대효과
- DTD는 XML의 정보 모델링을 기술한 것으로 메타데이터 기술에 사용이 가능하다.
웹 문서의 DTD를 명확하게 명시할 경우, 브라우저는 이 DTD를 확인하여 웹 문서를 적절하게 표현할 수 있다. 브라우저마다 랜더링 방식에 차이가 있기 때문에 DTD를 정확하게 명시하지 않을 경우, 브라우저의 콘텐츠나 기능이 정상적으로 나타나지 않거나, 작동하지 않을 수 있다.
- 웹 문서의 유효성을 검사하는 Validator는 전적으로 DTD 선언에 의지하여 문서를 판별하게 되고, DTD 선언 및 명확한 문법을 준수한 웹 문서는 모든 브라우저의 호환성을 보장받고 웹 개발이 용이하다.
- 명확한 DTD 선언은 문서의 템플릿 역할을 하여 구조화된 문서 작성이 용이하다.
명확한 DTD 선언은 웹 문서 표준 형식을 정의하는 기준이며, W3C에서 제공한 표준 문법을 준수하여 표준과 접근성을 보장할 수 있다.

 
용어 정의
- DTD : Document Type Definition (브라우저에 어떤 문서형 정의를 적용할 것인가를 선언)
- 웹 표준 : 표준 스펙을 잘 지키는 것뿐만 아니라 구조적 마크업(XHTML)과 표현 및 레이아웃(CSS) 및 사용자 행위 제어(DOMScripting)를 잘 분리하는 고급 홈페이지 구축 방식
- 접근성 : 사용자의 신체적 특성이나, 지역, 지식의 정도, 기술, 기술적 환경, 체험 등과 같은 사항에 제한되지 않고 가능한 많은 사용자가 불편함 없이 접근하고, 이용할 수 있는 제품 혹은 서비스를 만들고 이를 평가할 때 쓰이는 말이다. 즉, 어떠한 사용자(일반인, 장애인, 고령자 등)가 어떠한 환경(브라우저, 운영 체제, 디바이스의 환경이나 사양 등)에서도 어려움 없이 접근, 이용할 수 있는 것을 접근성이라 함.

 

문자셋(charset) 선언 및 자연어 명시
- 모든 페이지는 사용할 인코딩방식을 표기해야 한다.
- 현재 문서의 주된 자연어를 명시한다.

국가별 언어코드 표준명세 : http://trio.co.kr/webrefer/others/langcode.html

 준수 사항
- 웹 페이지의 모든 문서는 적절한 인코딩 방식을 지정해야 한다. 인코딩방식을 표현하지 않아도 일부 웹 브라우저는 스스로 인코딩 방식을 판별하는 기능을 포함하고 있기 때문에 정상적으로 보이는 것처럼 판단하고 지나칠 수 있으나, 표준적인 방식으로 인코딩을 명시해주는 것이 좋다.

 

사용의 예

 문자셋(charset) 선언

XHTML 문서에서는 문자 인코딩은 meta http-equiv문에 반드시 명시되어야 한다. 만약 XML 문서에 인코딩이 기술되어 있지 않다면, 상위 프로토콜에서 미리 지정되지 않는 한, XML 해석기는 UTF-8이나 UTF-16으로 간주한다.)

<meta http-equiv="content-type" content="text/html; charset=utf-8 (or euc-kr, ks_c_5601-1987 등)" />


UTF-8
- 권장하는 하는 인코딩.
- 반드시 협업부서와 협의과정을 거쳐야 한다.
- 데이터 베이스의 형식을 고려하여 사용한다.

euc-kr
- utf-8 인코딩 사용이 불가한 것으로 판정되는 경우 사용한다.

 


자연어 명시

HTML
한국어 <html lang="ko">
영어 <html lang="en">
일본어 <html lang="ja">
중국어 <html lang="zh">


 

기대효과
- 글로벌 웹서비스를 위해서는 다양한 언어로 웹 페이지를 구성해야 하는데, 이 때 UTF-8 같은 웹 페이지 인코딩방식을 사용해서 한다면 한 페이지에서 여러 가지 언어를 서비스 할 수 있다.

 

용어 정의

- 인코딩 : Encoding (문자들의 집합을 컴퓨터에서 저장하거나 통신에 사용할 목적으로 부호화하는 방법)
- 캐릭터셋 : Character set (문자셋은 정보를 표현하기 위한 글자들의 집합을 정의)
- 시멘틱 웹 : Semantic Web (컴퓨터가 정보자원들(웹 문서, 파일,서비스) 사이에 연결되어 있는 의미를 컴퓨터가 이해하고 논리적 추론까지 할 수 있는 차세대 지능형 웹)
- UTF-8 : Unicode Transformation Format (유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나이다.) 

[출처] DTD & Charset (웹디들의커뮤니티카페 :: Dom FAM ::) |작성자 윌리

'Note > 그밖에' 카테고리의 다른 글

jquery :: .hover() 이벤트의 활용  (0) 2011.01.03
ASP와 ASP.net 의 차이점  (0) 2010.12.24
CVS와 SVN의 차이점  (0) 2010.12.24
ASP - Option Explicit  (0) 2010.12.15
KT마일리지로 CGV에서 공짜영화를 보자!!  (0) 2010.11.06