<!DOCTYPE html></html>
위와 같이 html 선언된 코드를 흔히 볼 수 있다.
위 코드의 목적은 html 문서의 언어가 정의된 html 버전을 정의한다. 때문에 문서 타입 정의라는 DTD 라는 단어를 쓴다.
브라우저는 정의된 언어로 문서를 해석한다.
선언의 목적은 html 문서간의 호환성을 위해서이다. html은 현재는 html5가 보편적으로 이용되지만, 이전에는 html 4.0, xhtml 2.0 등 다양한 버전의 html이 사용되었다. 이 버전들의 문법은 각자 달랐고, 현재의 문법으로 과거의 버전을 해석하려고 하면 오류를 띄울 것이다. 때문에 이런 과거의 문법도 호환성 있게 사용할 수 있기 위해 DTD 선언을 한다. 지금 해석하고 있는 문서가 어떤 문법으로 해석되어야 하는지 미리 선언하는 것을 통해, 호환성을 높이는 것이다.
예를 들어 html 이전 버전에선 <font>
태그나 <center>
태그가 존재했었고, 그 때의 문서에서는 해당 태그가 문법오류가 아니었다. 물론 지금은 에러다. 아직도 많은 문서가 과거에 작성되어 해당 문법을 사용하고 있다. 그러므로 시간이 지나서도 해당 문서를 정상적으로 읽기 위해서는 과거의 문법을 해석할 수 있어야 한다.
<meta http-equiv="X-UA-compatible" content="IE=Edge" >
라는 태그가 흔히 사용된다.
이 태그는 렌더링 모드를 강제하는 데 사용된다.
기존 IE8 이하의 버전에서는 호환성 보기라는 버튼이 존재했는데, 이는 웹 표준이 정립되기 전 브라우저 버전에서 웹페이지를 보기 위해 관용모드로 렌더링하게 만드는 기능이었다. 시간이 지남에 따라 특정 웹페이지가 타겟하는 브라우저가 이런 웹 표준을 지키고 있다면, 굳이 이런 관용모드로 실행될 필요가 없게 되었다. 때문에 이런 렌더링 모드를 강제하기 위한 태그가 http-equiv 이다.
IE=Edge
는 현재 본인 브라우저의 최신 표준 모드로 렌더링 하라는 뜻이다.
title 태그는 문서 집단에서 unique(유일), 중복되지 않아야 하고, 해당 페이지의 특성을 잘 담아내야 한다.
또한 특수문자를 넣지 않는게 좋은데, 특정 문자가 반복되어 들어가거나, 의미가 없다고 검색엔진 로봇이 판단하면 SEO에서 누락되거나 하는 불상사가 발생할 수 있기 때문이다.
폰트 이슈
일반적으로 css는 각 컴퓨터의 운영체제에 저장되어있는 폰트를 가져다가 사용한다. 왜냐하면 폰트는 용량이 크기 때문에, 매번 서버에서 가져오면 오버헤드가 발생하기 때문이다.
이 때문에 호환성 문제가 발생할 수 있는데, 이를 해결하기 위해 웹 폰트라는 기능을 이용한다.