HTML5

**HTML5**(**Hypertext Markup Language 5**)는 월드 와이드 웹에서 하이퍼텍스트 문서를 구조화하고 제시하는 데 사용되는 마크업 언어이다. 이것은 다섯 번째이자 마지막 주요 HTML 버전으로, 현재는 폐기된 월드 와이드 웹 컨소시엄(W3C) 권고안이다. 현재의 사양은 HTML Living Standard로 알려져 있다. 이는 주요 브라우저 공급업체(애플, 구글, 모질라, 마이크로소프트)의 컨소시엄인 WHATWG(Web Hypertext Application Technology Working Group)에서 유지 관리한다.

HTML5는 2008년 1월 22일에 처음으로 대중에게 공개되었으며, 2014년 10월에 대대적인 업데이트와 함께 "W3C 권고안" 지위를 획득했다. HTML5의 목표는 최신 멀티미디어 및 기타 새로운 기능에 대한 지원으로 언어를 개선하고, XHTML의 엄격함 없이도 사람이 읽기 쉬우면서 웹 브라우저, 파서 등과 같은 컴퓨터와 장치가 일관되게 이해할 수 있도록 언어를 유지하며, 오래된 소프트웨어와의 하위 호환성을 유지하는 것이었다. HTML5는 HTML 4뿐만 아니라 XHTML1, 심지어 DOM 레벨 2 HTML 자체를 대체하려는 의도로 만들어졌다.

HTML5는 상호 운용성이 더 높은 구현을 장려하기 위해 상세한 처리 모델을 포함하고 있으며, 문서에 사용할 수 있는 마크업을 확장, 개선 및 합리화하고 복잡한 웹 애플리케이션을 위한 마크업과 애플리케이션 프로그래밍 인터페이스(API)를 도입했다. 같은 이유로 HTML5는 저전력 장치를 염두에 두고 설계된 기능들을 포함하고 있기 때문에 크로스 플랫폼 모바일 애플리케이션의 후보이기도 하다.

많은 새로운 구문 기능이 포함되었다. 멀티미디어와 그래픽 콘텐츠를 기본적으로 포함하고 처리하기 위해 새로운 ,  및  요소가 추가되었다. 확장 가능한 섹션은 CSS나 자바스크립트에 의존하지 않고 와 를 통해 기본적으로 구현되며, SVG 콘텐츠 및 수학 공식을 위한 MathML에 대한 지원도 추가되었다. 문서의 의미론적 콘텐츠를 풍부하게 하기 위해 , , , , , , , 와 같은 새로운 페이지 구조 요소가 추가되었다. 새로운 HTML 속성이 도입되었고 일부 요소와 속성은 제거되었으며, , , 와 같은 다른 요소들은 변경, 재정의 또는 표준화되었다. API와 문서 객체 모델(DOM)은 이제 HTML5 사양의 근본적인 부분이 되었으며, HTML5는 유효하지 않은 문서에 대한 처리도 더 잘 정의한다.

## 역사
WHATWG(Web Hypertext Application Technology Working Group)는 2004년에 새로운 표준에 대한 작업을 시작했다. 당시 HTML 4.01은 2000년 이후 업데이트되지 않았고, 월드 와이드 웹 컨소시엄(W3C)은 향후 개발을 XHTML 2.0에 집중하고 있었다. 2009년 W3C는 XHTML 2.0 워킹 그룹의 헌장 만료를 허용하고 이를 갱신하지 않기로 결정했다.

모질라 재단과 오페라 소프트웨어는 2004년 6월 월드 와이드 웹 컨소시엄 워크숍에서 기존 브라우저와 하위 호환성을 갖는 기술 개발에 초점을 맞춘 포지션 페이퍼를 발표했으며, 여기에는 Web Forms 2.0의 초기 사양 초안이 포함되어 있었다. 워크숍은 HTML 작업을 계속하는 것에 대해 찬성 8표, 반대 14표로 투표를 마쳤다. 워크숍 직후, 해당 포지션 페이퍼를 기반으로 작업을 시작하기 위해 WHATWG가 결성되었고, 두 번째 초안인 Web Applications 1.0도 발표되었다. 이 두 사양은 나중에 합쳐져 HTML5를 형성했다. HTML5 사양은 2007년에 W3C의 새로운 HTML 워킹 그룹 작업의 시작점으로 채택되었다.

WHATWG의 이언 힉슨(구글)과 데이비드 하얏트(애플)는 2008년 1월 22일에 사양의 첫 번째 W3C 공개 작업 초안을 제작했다.

2009년 이후 출시된 구글 크롬 3.0, 사파리 3.1, 파이어폭스 3.5, 오페라 10.5, 인터넷 익스플로러 9 이상을 포함한 많은 웹 브라우저가 HTML5를 지원한다.

### "플래시에 대한 생각"

HTML5의 일부 기능은 종종 어도비 플래시와 비교되지만, 두 기술은 매우 다르다. 둘 다 웹 페이지 내에서 오디오와 비디오를 재생하고 벡터 그래픽스를 사용하는 기능을 포함하고 있다. 그러나 HTML5 자체만으로는 애니메이션이나 상호작용에 사용할 수 없으며, CSS3나 자바스크립트로 보완되어야 한다. HTML5에는 직접적인 대응 기능이 없는 플래시의 많은 기능이 있다(HTML5와 플래시의 비교 참고). HTML5의 대화형 기능은 2010년 4월경 주류 언론의 주목을 받는 주제가 되었는데, 당시 애플의 CEO였던 스티브 잡스가 "플래시에 대한 생각"이라는 공개 서한을 발표하여 "비디오를 시청하거나 웹 콘텐츠를 소비하는 데 플래시는 더 이상 필요하지 않다"며 "HTML5와 같은 모바일 시대에 만들어진 새로운 오픈 표준이 승리할 것"이라고 결론지었기 때문이다. 이는 웹 개발 분야에서 논쟁을 불러일으켰으며, HTML5가 향상된 기능을 제공하지만 개발자는 표준의 각 부분에 대한 다양한 브라우저 지원뿐만 아니라 HTML5와 플래시 간의 다른 기능 차이도 고려해야 함을 시사했다. 2011년 11월 초, 어도비는 모바일 장치용 플래시 개발을 중단하고 HTML5를 사용한 도구 개발에 노력을 기울이겠다고 발표했다. 2017년 7월 25일, 어도비는 2020년 말까지 플래시의 배포 및 지원을 중단할 것이라고 발표했다. 어도비 자체는 2020년 12월 31일에 공식적으로 플래시를 중단했으며, 2021년 1월 12일부터 모든 플래시 콘텐츠가 플래시 플레이어에서 실행되는 것이 차단되었다.

### 최종 호출, 후보 및 권고 단계

2011년 2월 14일, W3C는 HTML5에 대한 명확한 이정표와 함께 HTML 워킹 그룹의 헌장을 연장했다. 2011년 5월, 워킹 그룹은 HTML5를 사양의 기술적 건전성을 확인하기 위해 W3C 내외부 커뮤니티를 초대하는 "최종 호출(Last Call)"로 격상시켰다. W3C는 권고안 목표 날짜인 2014년까지 전체 사양에 대해 광범위한 상호 운용성을 달성하기 위해 포괄적인 테스트 스위트를 개발했다. 2011년 1월, WHATWG는 "HTML5" 사양의 이름을 HTML Living Standard로 변경했다. 그럼에도 불구하고 W3C는 HTML5를 출시하기 위한 프로젝트를 계속했다.

2012년 7월, WHATWG와 W3C는 어느 정도 분리하기로 결정했다. W3C는 단일한 확정 표준에 초점을 맞춰 HTML5 사양 작업을 계속할 것이며, 이는 WHATWG에 의해 "스냅샷"으로 간주된다. WHATWG 조직은 HTML5를 "살아있는 표준(living standard)"으로 유지하며 작업을 계속한다. 살아있는 표준의 개념은 결코 완성되지 않으며 항상 업데이트되고 개선된다는 것이다. 새로운 기능은 추가될 수 있지만 기능이 제거되지는 않는다.

2012년 12월, W3C는 HTML5를 후보 권고안(Candidate Recommendation)으로 지정했다. W3C 권고안으로 승격되기 위한 기준은 "100% 완전하고 완전히 상호 운용 가능한 두 개의 구현"이다.

2014년 9월 16일, W3C는 HTML5를 제안 권고안(Proposed Recommendation)으로 옮겼다. 2014년 10월 28일, HTML5는 W3C 권고안으로 출시되어 사양 프로세스가 완료되었다. 2016년 11월 1일, HTML 5.1이 W3C 권고안으로 출시되었다. 2017년 12월 14일, HTML 5.2가 W3C 권고안으로 출시되었다.

### 폐기
W3C는 2018년 3월 27일에 HTML5를 폐기했다. 또한 폐기 대상에는 HTML 4.0, HTML 4.01, XHTML 1.0, XHTML 1.1도 포함되었다. HTML 5.1, HTML 5.2 및 HTML 5.3은 모두 2021년 1월 28일에 HTML 살아있는 표준(Living Standard)을 위해 폐기되었다.

### 타임라인

HTML5, HTML 5.1, HTML 5.2 및 HTML 5.3의 W3C 권고안에 대한 결합된 타임라인은 다음과 같다:

### W3C와 WHATWG의 갈등

W3C는 두 개의 표준을 갖는 것이 해롭다고 판단하여 2019년 5월 28일에 HTML 및 DOM 표준에 대한 권한을 WHATWG에 양도했다. 이제 HTML Living Standard가 권위 있는 표준이다. 그러나 W3C는 여전히 HTML 개발 프로세스에 참여할 것이다.

권한 양도 이전에는 2012년 7월 분할 이후 W3C와 WHATWG가 HTML5 개발을 위해 협력하는 동시에 서로 다른 목적을 가지고 있는 것으로 묘사되어 왔다. W3C "HTML5" 표준은 스냅샷 기반(HTML5, HTML 5.1 등)이고 정적이었던 반면, WHATWG "HTML 살아있는 표준(living standard)"은 지속적으로 업데이트되었다. 이 관계는 "취약함", 심지어 "균열"로 묘사되었으며, "옥신각신함"으로 특징지어졌다.

최소한 한 가지 사례, 즉  요소의 허용되는 콘텐츠에 대해 두 사양은 서로 직접적으로 상충되었으며(2018년 7월 기준), W3C 정의가 WHATWG 정의보다 더 넓은 범위의 사용을 허용했다.

WHATWG 사양(이언 힉슨 편집)의 "서론" 섹션은 W3C에 대해 비판적이다. 예를 들어 " 중단해 달라는 요청에도 불구하고, W3C는 또한 이 사양의 일부를 별도의 문서로 재출판한다."라고 명시되어 있다. "역사" 하위 섹션에서는 W3C가 힉슨과 WHATWG의 독창적인 HTML5 계획에 저항하다가 뒤늦게 편승한 것으로 묘사한다(힉슨이 W3C HTML5 사양도 제어하고 있었음에도 불구하고). 어쨌든 이는 조직 간의 큰 철학적 차이를 나타낸다.

두 단체는 2019년 5월 28일에 단일 버전의 HTML에 대해 협력하기로 계약을 체결했다.

#### 두 표준 간의 차이점

위에서 언급한  요소의 모순 외에도 2018년 9월 기준으로 두 표준 간의 다른 차이점은 다음과 같다.

다음 표는 2018년 9월 기준으로 표준 중 하나에만 있는 HTML 요소에 대한 주요 브라우저의 호환성에 대해 모질라 개발자 네트워크(MDN)에서 제공한 데이터를 제공한다:

## 기능 및 API
W3C는 더 빠른 발전을 위한 계획의 핵심 부분으로 모듈성에 더 많이 의존할 것을 제안했다. 이는 사양에 제안되었거나 이미 존재하는 특정 기능을 식별하고 이를 별도의 사양으로 발전시키는 것을 의미한다. 원래 HTML5 자체에서 정의되었던 일부 기술은 이제 별도의 사양에서 정의된다:
* HTML 워킹 그룹 — HTML Canvas 2D Context;
* Immersive Web 워킹 그룹 — WebXR Device API, WebXR Gamepads Module, WebXR Augmented Reality Module 등;
* 웹 앱스 워킹 그룹 — 웹 메시징, 웹 워커, 웹 스토리지, 웹소켓, 서버 전송 이벤트, 웹 컴포넌트 (단, 이것은 HTML5의 일부가 아니었음); 웹 애플리케이션 워킹 그룹은 2015년 10월에 폐쇄되었으며 결과물은 웹 플랫폼 워킹 그룹(WPWG)으로 이전되었다.
* IETF HyBi 워킹 그룹 — 웹소켓 프로토콜;
* WebRTC 워킹 그룹 — WebRTC;
* Web Media Text Tracks 커뮤니티 그룹 — WebVTT.

원래 HTML5 사양에서 제거된 일부 기능은 Microdata 및 Canvas와 같이 별도의 모듈로 표준화되었다. 폴리글롯 마크업(Polyglot markup)과 같이 HTML5 확장으로 도입된 기술 사양도 모듈로 표준화되었다. 원래 별개의 사양이었던 일부 W3C 사양은 SVG와 같이 HTML5 확장 또는 기능으로 채택되었다. HTML5의 표준화를 늦출 수 있는 일부 기능은 대신 향후 사양으로 표준화되었거나 될 예정이다.

## 기능

### 마크업
HTML5는 현대적인 웹사이트의 전형적인 사용 방식을 반영하는 HTML 요소와 HTML 속성을 도입했다. 이들 중 일부는 일반적인 블록() 및 인라인() 요소의 일반적인 용도에 대한 의미론적 대체물이다. 예를 들어 (웹사이트 내비게이션 블록), (보통 웹 페이지 하단이나 HTML 코드의 마지막 줄을 가리킴), 또는  대신 사용하는  및  등이 있다.
HTML 4.01에서 폐기된 일부 요소는 삭제되었으며, 여기에는 효과가 더 유능한 CSS에 의해 오래전에 대체된  및 과 같은 순수하게 표현적인 요소들이 포함된다. 또한 동적 웹페이지를 만드는 데 사용되는 클라이언트 측 자바스크립트의 중요성이 다시 강조되었다.

HTML5 구문은 마크업의 유사성에도 불구하고 더 이상 SGML에 기반하지 않는다. 그러나 이전 버전의 HTML에 대한 일반적인 구문 분석과 하위 호환되도록 설계되었다. 표준 준수 렌더링 모드를 트리거하는 SGML 문서 형식 선언처럼 보이는 새로운 도입 라인인 &lt;!DOCTYPE html&gt;과 함께 제공된다.
2009년 1월 5일부터 HTML5에는 이전에 별도의 WHATWG 사양이었던 Web Forms 2.0도 포함되었다.

### 새로운 API
섬네일|420px|HTML5 관련 API

마크업 지정 외에도 HTML5는 자바스크립트와 함께 사용할 수 있는 스크립팅 애플리케이션 프로그래밍 인터페이스(API)를 지정한다. 기존 문서 객체 모델(DOM) 인터페이스가 확장되고 사실상의 기능들이 문서화되었다. 다음과 같은 새로운 API도 있다:
* Canvas;
* Timed Media Playback;
* 오프라인;
* 편집 가능한 콘텐츠;
* 드래그 앤드 드롭;
* History;
* MIME 타입 및 프로토콜 핸들러 등록;
* Microdata;
* 웹 메시징;
* 웹 스토리지 – HTTP 쿠키와 유사한 동작을 제공하지만 저장 용량이 더 크고 API가 개선된 키-값 쌍 저장소 프레임워크.

위의 모든 기술이 W3C HTML5 사양에 포함되어 있는 것은 아니지만 WHATWG HTML 사양에는 포함되어 있다. W3C HTML5나 WHATWG HTML 사양의 일부는 아니지만 관련된 기술은 다음과 같다. W3C는 이들에 대한 사양을 별도로 발행한다:
* Geolocation;
* IndexedDB – 인덱싱된 계층적 키-값 저장소(이전의 WebSimpleDB);
* 파일 API – 파일 업로드 및 파일 조작을 처리하기 위한 API;
* 디렉터리 및 시스템 — 데이터베이스에서 잘 제공되지 않는 클라이언트 측 저장소 사용 사례를 충족하기 위한 API;
* 파일 라이터 — 웹 애플리케이션에서 파일을 쓰기 위한 API;
* 웹 오디오 — 웹 애플리케이션에서 오디오를 처리하고 합성하기 위한 고수준 자바스크립트 API;
* ClassList.
* 웹 암호화 API
* WebRTC
* 웹 SQL 데이터베이스 — 로컬 SQL 데이터베이스 (더 이상 유지 관리되지 않음);

HTML5는 웹 페이지 내에서 애니메이션을 제공할 수 없다. HTML 요소를 애니메이션화하려면 추가적인 자바스크립트나 CSS3가 필요하다. 자바스크립트와 HTML 4를 사용해서도 애니메이션이 가능하며, SVG 요소 내에서 SMIL을 통해서도 가능하지만 2011년 기준으로 후자에 대한 브라우저 지원은 고르지 않다.

### XHTML5 (XML로 직렬화된 HTML5)

XML 문서는 `application/xhtml+xml` 또는 `application/xml`과 같은 XML 미디어 타입(종종 "MIME 타입"이라고 함)으로 서비스되어야 하며, XML의 엄격하고 형식이 잘 갖춰진 구문을 따라야 한다. XHTML5는 단순히 XML로 직렬화된 HTML5 데이터(즉, 닫히지 않은 태그가 없는 등 XHTML의 엄격한 요구 사항으로 제한된 HTML5)를 XML 미디어 타입 중 하나로 전송한 것이다. HTML과 XHTML 사양을 모두 준수하도록 작성되어 HTML로 구문 분석하든 XML로 구문 분석하든 동일한 DOM 트리를 생성하는 HTML은 폴리글롯 마크업으로 알려져 있다.

XHTML5를 위한 DTD는 존재하지 않는다.

### 오류 처리
HTML5는 오래된 브라우저가 새로운 HTML5 구조를 안전하게 무시할 수 있도록 설계되었다. HTML 4.01과 달리 HTML5 사양은 규격 준수 브라우저가 잘못된 구문을 구문 분석할 때 동일한 결과를 생성하도록 하는 것을 목적으로 구문 분석에 대한 상세한 규칙을 제공한다. HTML5가 이제 "태그 수프" 문서에 대해 일관된 동작을 정의하고는 있지만, 그러한 문서들이 HTML5 표준을 준수하는 것은 아니다.

### 인기
2011년 9월 30일에 발표된 보고서에 따르면, 세계 상위 100개 웹사이트 중 34개가 검색 엔진과 사회 연결망이 주도하는 HTML5를 사용하고 있었다. 2013년 8월에 발표된 또 다른 보고서에 따르면 포춘 500대 미국 기업 중 153개가 회사 웹사이트에 HTML5를 구현했다.

2014년 이후로 HTML5는 대부분의 대중적인 레이아웃 엔진에서 최소한 부분적으로 지원된다.

### HTML 4.01 및 XHTML 1.x와의 차이점
다음은 차이점과 일부 구체적인 예시에 대한 대략적인 목록이다.
* 새로운 구문 분석 규칙: 유연한 구문 분석과 호환성을 지향함; SGML에 기반하지 않음
* `text/html`에서 인라인 SVG 및 MathML을 사용할 수 있는 능력
* 새로운 요소: `article`, `aside`, `audio`, `bdi`, `canvas`, `command`, `data`, `datalist`, `details`, `embed`, `figcaption`, `figure`, `footer`, `header`, `keygen`, `mark`, `meter`, `nav`, `output`, `progress`, `rp`, `rt`, `[[루비 문자#HTML|ruby]]`, `section`, `source`, `summary`, `time`, `track`, `video`, `wbr`
* 새로운 유형의 폼 컨트롤: `dates and times`, `email`, `url`, `search`, `number`, `range`, `tel`, `color`
* 새로운 속성: `charset` (`meta`에서), `async` (`script`에서)
* 전역 속성 (모든 요소에 적용 가능): `id`, `tabindex`, `hidden`, `data-*` (사용자 정의 데이터 속성)
* 폐기된 요소는 완전히 삭제됨: `acronym`, `applet`, `basefont`, `big`, `center`, `dir`, `font`, `frame`, <code>frameset</code>, `isindex`, `noframes`, `strike`, `tt`

W3C 워킹 그룹은 HTML5와 HTML4 간의 추가, 제거 및 변경 사항에 대한 완전한 개요를 제공하는 "HTML5 differences from HTML 4"를 출판한다.

## 로고
섬네일|120px|W3C HTML5 로고
2011년 1월 18일, W3C는 HTML5에 대한 사용이나 관심을 나타내기 위한 로고를 도입했다. 이전에 W3C에서 발행한 다른 배지와 달리, 특정 표준에 대한 유효성이나 준수를 의미하지는 않는다. 2011년 4월 1일부로 이 로고는 공식화되었다.

처음 대중에게 선보일 때 W3C는 HTML5 로고를 "HTML5, CSS, SVG, WOFF 등을 포함한 광범위한 오픈 웹 기술 세트를 위한 범용 시각적 정체성"이라고 발표했다. The Web Standards Project를 포함한 일부 웹 표준 옹호자들은 용어의 모호함과 의사소통 오류의 가능성을 지적하며 포괄적인 용어로서의 "HTML5" 정의를 비판했다. 3일 후, W3C는 커뮤니티 피드백에 응답하여 관련 기술의 나열을 삭제하고 로고의 정의를 변경했다. W3C는 이후 이 로고가 "현대 웹 애플리케이션의 초석인 HTML5를 대표한다"고 밝혔다.

## 디지털 권리 관리
영국방송공사(BBC), 구글, 마이크로소프트 및 애플을 포함한 업계 관계자들은 디지털 권리 관리(DRM)의 한 형태인 EME(Encrypted Media Extensions)를 HTML5 표준에 포함시키기 위해 로비를 벌여 왔다. 2012년 말과 2013년 초 현재, 자유 소프트웨어 재단을 포함한 27개 조직이 HTML5 표준에 디지털 권리 관리를 포함시키는 것에 반대하는 캠페인을 시작했다. 그러나 2013년 9월 말, W3C HTML 워킹 그룹은 DRM의 일종인 EME가 "범위 내(in scope)"에 있으며 잠재적으로 HTML 5.1 표준에 포함될 것이라고 결정했다. WHATWG의 "HTML Living Standard"는 DRM 지원 제안 없이 개발을 계속했다.

W3C의 일원인 마누 스포니는 EME가 해결하려는 문제를 해결하지 못할 것이라고 말했다.
반대론자들은 EME 자체가 단지 DRM 플러그인 메커니즘을 위한 아키텍처일 뿐이라고 지적한다.

HTML5에서 DRM의 초기 조력자는 구글과 마이크로소프트였다. 지지자에는 어도비도 포함된다. 2014년 5월 14일, 모질라 재단은 DRM을 회피하던 마지막 주요 브라우저인 파이어폭스에서 EME를 지원할 계획을 발표했다. 모질라의 안드레아스 갈은 이를 "어렵고 불편한 단계"라고 부르며, 미래의 파이어폭스 버전은 오픈 소스로 남겠지만 어도비가 개발한 콘텐츠 복호화 모듈을 실행하도록 설계된 샌드박스와 함께 출시될 것이라고 설명했다. 나중에는 콘텐츠 제공업체들이 훨씬 더 널리 채택한 구글의 와이드바인 모듈로 대체되었다. 모질라의 이사회 의장인 미첼 베이커는 "대안적인 해결책을 위해 노력하겠다"고 약속하면서도, EME 구현을 거부하는 것은 많은 사용자가 브라우저를 바꾸게 만드는 것 이상의 효과를 거두지 못했을 것이라고 밝혔다. 이 결정은 코리 닥터로와 자유 소프트웨어 재단에 의해 비난받았다.

2023년 12월 현재, W3C는 다음과 같이 말하며 그들이 만든 EME 표준을 옹호했다: "EME(Encrypted Media Extensions)는 웹에서 영화와 TV를 시청할 때 더 큰 상호 운용성, 더 나은 프라이버시, 보안, 접근성 및 사용자 경험을 제공한다".

## 같이 보기
*  HTML5에서의 ogg 포맷
*  HTML5 레이아웃 엔진의 비교
* HTML5 비디오
* HTML
* XHTML
* CSS3
* SVG

## 각주

## 외부 링크
* 
* WHAT Working Group
* W3C HTML Working Group 
* WHATWG 편집자 초안
* W3C 편집자 초안
* HTML4와 차이점 
*  How HTML5 will change the Web (HTML5는 웹을 어떻게 바꿀 것인가)
*  HTML5 호환성 점수 보기 


분류:마크업 언어
분류:HTML
분류:W3C 표준
분류:2014년 소프트웨어