HTML
| 개발자 | W3C와 WHATWG |
|---|---|
| 발표일 | 1993년 |
| 최근 버전 | Living Standard |
| 최근 버전 출시일 | 2022년 |
| 웹사이트 | http://www.w3.org/ |
| 주요 구현체 | |
| TEXT/HTML | |
| 영향을 받은 언어 | |
| SGML | |
| 영향을 준 언어 | |
| XHTML | |
| HTML |
|---|
| 비교 |
하이퍼 텍스트 마크업 언어(영어: Hyper Text Markup Language, HTML, 문화어: 초본문표식달기언어, 하이퍼본문표식달기언어)는 웹 브라우저에 표시되도록 설계된 표준 마크업 언어다. 또한, HTML은 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다. 즉, 브라우저를 통해 화면에 '컨텐츠를 출력할 방법을 지정'한다. 그리고 이미지와 객체를 내장하여 대화형 양식을 생성하는 데 사용될 수 있다. HTML은 웹 페이지 콘텐츠 안의 꺾쇠 괄호에 둘러싸인 "태그"로 되어있는 HTML 요소 형태로 작성한다. HTML은 웹 브라우저와 같은 HTML 처리 장치의 행동에 영향을 주는 자바스크립트, 본문과 그 밖의 항목의 외관과 배치를 정의하는 CSS 같은 스크립트를 포함하거나 불러올 수 있다. HTML과 CSS 표준의 공동 책임자인 W3C는 명확하고 표상적인 마크업을 위하여 CSS의 사용을 권장한다.[1]
역사
[편집]개발
[편집]
1980년, 유럽 입자 물리 연구소(CERN)의 계약자였었던 물리학자 팀 버너스리가 HTML의 원형인 인콰이어를 제안하였다. 인콰이어는 CERN의 연구원들이 문서를 이용하고 공유하기 위한 체계였다. 1989년에 팀 버너스리는 인터넷 기반 하이퍼텍스트 체계를 제안하는 메모를 작성했다.[2] 버너스 리는 1990년 말에 HTML을 명시하고, 브라우저와 서버 소프트웨어를 작성했다. 그 해에 버너스리와 CERN 데이터 시스템 엔지니어 로버트 카일리아우와 함께 CERN측에 자금 지원을 요청하였지만, 이 프로젝트는 CERN으로부터 정식으로 채택 받지 못했다. 버너스리의 개인적인 기록[3]에 1990년부터 "하이퍼텍스트가 사용되는 여러 분야의 일부"를 열거했고 백과사전을 그 목록의 첫 번째로 두었다.
최초 규격
[편집]HTML 최초의 일반 공개 설명은 1991년 말에 버너스리가 처음으로 인터넷에서 문서를 "HTML 태그"(HTML tag)로 부르면서 시작되었다.[4][5]
그것은 머릿글자로 이루어진 20개의 요소를 기술하였고, 상대적으로 HTML의 단순한 디자인이었다. 하이퍼링크를 제외한 HTML 태그들은 CERN 자체의 SGML 기반 문서화 포맷인 SGML GUID에 강하게 영향을 받았다. 이 요소 중 13개는 HTML 4 버전에서도 여전히 존재한다.[6]
HTML은 동적인 웹 페이지의 웹 브라우저를 통한 문자와 이미지 양식이다. 문자 요소의 대부분은 1988년 ISO 기술 보고서 9537 SGML을 이용한 기법에서 찾을 수 있다. 하지만 SGML 개념의 일반적인 마크업은 단지 개별 효과 보다는 요소 기반이고 또한 구조와 처리의 분리(?)(HTML은 CSS와 함께 이 방향으로 점진적으로 이동해 왔다.)
버너스리는 SGML 응용 프로그램이 되는 HTML을 고안해야 했고 그것은 공식적으로 IETF(국제 인터넷 표준화 기구)에 의하여 1993년 중반, HTML 규격에 대한 최초의 제안을 간행물로 정의했다. (버너스리와 덴 콘놀리에 의한 문법을 규정하는 SGML 문서 형식 정의(SGML DTD)가 포함된 "하이퍼텍스트 마크업 언어(HTML)" 인터넷 초안[7]) 이 초안은 6개월 후 만료된다. 하지만 NCSA 모자이크 브라우저의 인라인 이미지를 내장하는 사용자 정의 태그의 사례는 주목할 만 했고, 성공적인 프로토타입에 대한 표준을 기반한 IETF의 철학을.[8] 마찬가지로 데이브 라그렛의 경쟁 인터넷 초안인 "HTML+ (하이퍼텍스트 마크업 포맷)"은 1993년 말에 테이블과 기입양식 같은 요소들을 이미 구현하여 표준화 제안을 했다.[9]
이후 1994년 초 HTML과 HTML+ 초안은 만료되었고, IETF는 HTML 작업 그룹을 설립해 1995년에 HTML 2.0을 완성한다. 최초의 HTML의 규격은 미래에 수행될 HTML 표준을 기반으로 간주되는 경향이 있었다.[8]RFC 1996년에 HTML 2.0은 HTML과 HTML+ 초안의 아이디어가 포함됐다고 발표했다.[10] HTML 2.0 지정은 이전의 초안들로부터 새로운 버전을 구별하기 위해서였다.[11]
게다가 IETF의 후원하에 개발은 상충하는 이해 관계 때문에 지연되었다. 1996년부터 HTML 규격은 상용 소프트웨어 제작사의 투입으로 월드 와이드 웹 컨소시엄(W3C)에서 유지해 왔다.[12] 하지만 2000년부터 HTML 또한 국제 표준(ISO/IEC 15445:2000)이 되었다. 현재 W3C에 의해 발표된 최신 규격은 1999년 말에 발표된 HTML 4.01 권고안이며 2001년에 문제와 오류들이 수정되어 발표된 안이 최종 승인되었다.
표준 버전의 역사
[편집]HTML 버전 스케줄
[편집]- 1995년 11월 24일
- HTML 2.0이 IETF의 RFC 1866로 발표되었다. 추보의 RFC의 추가된 기능:
- 2000년 6월, 이 모든 것들이 RFC 2854에 의하여 더 이상 쓰이지 않고 역사적인 것으로 선언됨.
- 1997년 1월
- HTML 3.2[13] 가 W3C 권고안으로 발표되었다. 이것은 1996년 9월에 폐쇄한 HTML 작업 그룹인 IETF와 같이 W3C에 의하여 배타적으로 개발되고 표준화된 첫 번째 버전이다.[14]
- HTML 3.2에서 여러 종류의 겹치는 확장 수학 수식을 완전히 제외 시키고 넷스케이프의 비주얼 마크업 태그의 대다수를 채택했다. 넷스케이프의 블링크 요소와 마이크로소프트의 마퀴 요소는 두 회사의 상호 협의 하에 누락시켰다.[12] HTML에서 수학적 수식과 비슷한 마크업은 이후 MathML이 나올 때까지 14개월 동안 표준이 아니었다.
- 1997년 12월
- HTML 4.0[15]
이 W3C 권고안으로 출시되었다. HTML 4.0은 세 가지 문서 형태를 제공한다:
- Strict(엄격): 사용이 중지된 요소를 금지한다.
- Transitional(변이): 사용이 중지된 요소를 허용한다.
- Frameset(프레임셋): 대부분 프레임 관련 요소에서만 허용한다.
- 처음에 코드네임 "쿠가"[16]에서 HTML 4.0은 다양한 브라우저 특정 요소의 종류와 속성을 채택하였지만 동시에 스타일시트에 찬성하는 세력의 반대로 넷스케이프의 시각적 마크업 기능을 단계적으로 제거하기로 했다. HTML 4는 ISO 8879 - SGML에 따른 SGML 응용 프로그래밍 언어다.[17]
- 1998년 4월
- HTML 4.0[18]
이 버전이 증가되지 않고 조금 수정되어 재발표되었다.
- 1999년 12월
- HTML 4.01[19]
이 W3C 권고안으로 출시되었다. HTML 4.0과 마찬가지로 세 가지 문서 형태를 제공한다. 그리고 2001년 5월 12일에 그것에 대한 최종 오류 수정 사항 이 발표되었다.
- 2000년 5월
- ISO/IEC 15445:2000[20]
[21] ("ISO HTML", HTML 4.01 Strict 기반)이 ISO/IEC 국제 표준과 함께 출시되었다. ISO에서 이 표준안은 ISO/IEC JTC1/SC34 (ISO/IEC 공동 기술 위원회 1, 소위원회 34 - 문서 표현과 처리 언어)의 범위에서 떨어져 나왔다.[20]
- 2008년 중반, HTML 4.01과 ISO/IEC 15445:2000은 HTML의 대부분의 최근 버전이다. XML 기반 병렬 개발 언어인 XHTML을 통해 W3C의 HTML 작업 그룹은 2000년대 초중반에 성장하였다.
HTML 초안 버전 스케줄
[편집]- 1991년 10월
- HTML 요소[4]: 비공식적 CERN 문서에서 12개의 HTML 태그 목록이 대중에게 언급되었다.
- 1992년 7월
- 6단계 이후의 개정판과 함께 HTML DTD, 보관됨 2010-11-20 - 웨이백 머신의 첫 번째 비공식 초안
- 1992년 11월
- HTML DTD 1.1 (1.0 대신에 1.1을 RCS 체계를 기반으로 하는 첫 번째 버전 번호로 시작한다.), 비공식 초안
- 1993년 6월
- 하이퍼텍스트 마크업 언어[22]는 인터넷 초안(표준에 대한 간략한 제안)과 함께IETFIIIR 작업 그룹에 의하여 발표되었다. 그것은 한 달 후 IETF에 의해 6가지 추가 초안을 더한 두 번째 버전 으로 대체되었고 결국 HTML 2.0이 RFC1866을 주도했다.
- 1993년 11월
- HTML+가 인터넷 초안과 함께 IETF에 의하여 출시되었고, HTML 초안과의 경쟁을 제안하였다. 1994년 5월 HTML+는 만료되었다.
- 1995년 4월 (1995년 3월에 저술)
- HTML 3.0[23] 이 IETF 표준안으로 제안되었지만 이 제안은 이후 5개월 동안 진전이 없어서 만료되었다. 여기에는 데이브 라겟의 HTML+ 제안의 표와 복잡한 수학적 수식을 표시를 지원하는 것과 같은 특성의 상당부분을 포함했다.[24]
- W3C는 HTML3와 CSS를 지원하는 시험하기 위하여 자체적으로 아레나 브라우저를 개발하기 시작했다. 하지만 HTML 3.0은 여러 이유로 성공하지 못했다.
- 2008년 1월
- HTML 5[25] 초안 작업은 W3C에 의해 발표되었다.
XHTML 버전
[편집]XHTML은 XML 1.0을 이용하여 HTML 4.01을 새로 만든 독립된 언어다.
- XHTML 1.0[27] 은 2000년 1월 26일에 W3C 권고안으로 발표되었다. 이후 2002년 8월 1일에 개정과 재발표를 하였다. 이것은 XML에 관하여 새로 작성된 HTML 4.0 과 HTML 4.01 같이 세가지 문서 형태를 사소한 규약과 함께 제공한다.
- XHTML 1.1[28] 2001년 5월 31일에 W3C 권고안으로 발표되었다. 그것은 XHTML 1.0 strict 기반이지만 사소한 변경 사항과 사용자 정의 기능을 포함하고, XHTML의 모듈화 으로부터 모듈을 이용하여 새로 작성되었다.
- XHTML 2.0[29] 은 아직까지 W3C 작업 초안이다. W3C는 2009년 말까지 XHTML 2 그룹을 중단한다고 발표하였다.[30]. 그러므로 XHTML 2.0 표준은 사라질 것이다. XHTML은 XHTML 1.x와 호환되지 않는다. 따라서 XHTML 1.0에서 업데이트된 것 보다 XHTML을 기반으로 하는 새로운 언어가 특성이 더 정확해진다.
- XHTML5는 HTML 5 초안에서 HTML 5와 함께 정의되었다.[31]
마크업
[편집]
HTML 마크업은 HTML 요소(엘리먼트, Elements)와 그들의 속성(Attributes)과 문자 기반 데이터 형태와 문자 참조와 엔티티 참조를 포함하는 몇 가지 핵심 구성 요소로 이루어져 있다. 또 다른 중요한 구성 요소로는 문서 형식 정의(DTD, Document Type Definition)를 명시하는 문서 형식 선언(document type declaration)이다. 차기 HTML 5에서는 DTD를 지정하지 않아도 되고 오직 레이아웃 모드로 지정된다 .
Hello world 프로그램은 프로그래밍 언어와 스크립트 언어 그리고 마크업 언어를 비교하기 위해 사용되는 일반적인 컴퓨터 프로그램이다. 그리고 HTML에서의 Hello world 프로그램은 단 9줄에 불과하다:
Hello World!
\n \n