HTML( HyperText Markup Language ) 개발자 : W3C 와 WHATWG
최근 버전 : HTML5.2
최근 버전 출시일 : 2017년 12월 17일
미리보기 버전 : HTML 5.3 (초안)
미리보기 버전 출시일 : 2018년 10월 18일
웹사이트 : http://www.w3.org/
주요 구현체 : TEXT/HTML
영향을 받은 언어 : SGML
영향을 준 언어 : XHTML
하이퍼텍스트 마크업 언어(HyperText Markup Language,HTML,
문화어:초본문표식달기언어, 하이퍼본문표식달기언어)는
웹 페이지를 위한 지배적인마크업 언어다.
또한, HTML은 제목, 단락, 목록 등과 같은
본문을 위한 구조적 의미를 나타내는 것뿐만 아니라
링크, 인용과 그 밖의 항목으로구조적 문서를 만들 수 있는 방법을 제공한다.
그리고 이미지와 객체를 내장하고 대화형 양식을 생성하는 데 사용될 수 있다.
HTML은 웹 페이지 콘텐츠 안의 꺾쇠 괄호에 둘러싸인
"태그"로 되어있는HTML 요소형태로 작성한다.
HTML은 웹 브라우저와 같은 HTML 처리 장치의 행동에
영향을 주는 자바스크립트와
본문과 그 밖의 항목의 외관과 배치를 정의하는
CSS같은 스크립트를 포함하거나 불러올 수 있다.
HTML과 CSS표준의 공동 책임자인 W3C는
명확하고 표상적인 마크업을 위하여 CSS의 사용을 권장한다.
역사
1980년, 유럽 입자 물리 연구소(CERN)의 계약자였었던
물리학자 팀 버너스리가 HTML의 원형인 인콰이어를 제안하였다.
인콰이어는 CERN의 연구원들이 문서를 이용하고 공유하기 위한 체계였다.
1989년에 팀 버너스리는 인터넷기반 하이퍼텍스트체계를 제안하는 메모를 작성했다.
버너스 리는 1990년 말에 HTML을 명시하고, 브라우저와 서버 소프트웨어를 작성했다.
그 해에 버너스리와 CERN 데이터 시스템 엔지니어로버트 카일리아우와 함께
CERN측에 자금 지원을 요청하였지만,
이 프로젝트는 CERN으로부터 정식으로 채택 받지 못했다.
버너스리의 개인적인 기록에
1990년부터 "하이퍼텍스트가 사용되는 여러 분야의 일부"를 열거했고
백과사전을 그 목록의 첫 번째로 두었다.
마크업
HTML 마크업은
HTML 요소(엘리먼트, Elements)와 그들의 속성(Attributes)과
문자 기반 데이터 형태와 문자 참조와 엔티티 참조를 포함하는
몇 가지 핵심 구성 요소로 이루어져 있다.
또 다른 중요한 구성 요소로는 문서 형식 정의(DTD, Document Type Definition)를 명시하는
문서 형식 선언(document type declaration)이다.
차기 HTML 5에서는 DTD를 지정하지 않아도 되고 오직 레이아웃 모드로 지정된다.
<!doctype html>
<html>
<head>
<title>Hello HTML</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
Hello world 프로그램은 프로그래밍 언어와 스크립트 언어
그리고 마크업 언어를 비교하기 위해 사용되는 일반적인 컴퓨터 프로그램이다.
그리고 HTML에서의 Hello world 프로그램은 단 9줄에 불과하다:
(<html>과 </html>사이의 문자는 웹 페이지를 표현한다.
<body>와 </body>사이의 문자는 표시되는 페이지의 내용이며,
<head>와 </head>사이의 문자는 눈에는 보이지 않지만
웹 페이지를 표현하기위해 필요한 해더 정보를 담고 있다.
<title>과 </title>사이의 문자는 웹 브라우저의 페이지 제목을 정의하는데 사용된다.)
Hello world 프로그램을 최대로 짧게 만들고 싶다면:
Hello world
이라고 해도 되지만, 웹 표준에 위배된다.
만약 <!doctype html>로 선언하지 않은 경우
대다수의 브라우저는 "쿽스 모드"로 렌더링한다.
주석 사용
<!--..설명!..-->
주석은 코딩을 이해하는데 도움을 줄 수 있지만 웹 페이지에는 표시되지 않는다.
데이터 형식
HTML은 스크립트 데이터와 스타일시트 데이터,
그리고 ID, 이름, URI, 숫자 길이의 단위, 언어,
미디어 기술자, 색상, 문자 인코딩, 날짜와 시간 등을 포함하는
속성 값의 종류를 위한 몇 가지 데이터 형태를 정의 내린다.
이러한 모든 데이터 형식은 문자 데이터를 최적화하기 위하여 분리되었다.
문서 형식 선언
HTML 문서는 문서 형식 선언 (비공식적으로, "doctype")으로 시작해야 한다.
브라우저에서 doctype의 기능은 렌더링 모드를 지시하는 것이며,
부분적으로는 쿼크 모드를 피하기 위한 목적도 있다.
doctype의 원래의 목적은
문서 형식 정의 (DTD)에 기반한 SGML 도구를 통하여
HTML 문서의 파싱과 유효 여부 확인을 가능하게 하려는 것이었다.
DOCTYPE에 대한 DTD는 DTD에 순응하는 문서를 가진
허용 또는 금지된 내용을 지정하고
기계가 읽을 수 있는 문법을 포함하도록 지시한다.
반면 브라우저는 HTML을 SGML의 애플리케이션으로 수행하지 않으며,
결과적으로 DTD를 읽지 않는다.
HTML 5는 기술적인 제한으로 인해 DTD를 정의하지 않는다.
그래서 HTML5에서 doctype 선언 <!doctype html>는 DTD를 참조하지 않는다.
HTML 4 doctype의 예제는 다음과 같다.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
이런 선언은 엄격한 HTML 4.01을 만들기 위해 DTD를 참조한다.
이것은 선언적인 요소인 font 같은 요소는 포함하지 않으며, CSS나 span, div 요소는 유지한다.
SGML 기반의 유효 확인자(validator)들은 문서를 적절히 해석하거나,
유효 여부 확인을 실행하기 위해 DTD를 읽는다.
최근의 브라우저에서 이 doctype은 쿼크 모드에 반대되는 표준 모드를 활성화한다.
게다가 HTML 4.01은 임시적이고 프레임 단위의 DTD를 제공한다.
HTTP
주로 웹 서버에서 하이퍼텍스트 전송 프로토콜 (HTTP)을 이용하는
웹 브라우저로 전송되는 HTML 문서를 위해 고안되었다.
그러나 HTTP는 HTML 이외에도 이미지나 소리,
그리고 기타 내용물을 서비스하는 데 사용된다.
브라우저가 받는 각 문서를 어떻게 다른지 알려주게 하기 위해, 다른 정보가 문서와 함께 전송된다.
이 메타데이터는 보통 MIME 타입 (예, text/html or application/xhtml+xml)과
문자 인코딩을 포함한다. (HTML에서 문자 인코팅 참조)
최근의 브라우저에서 HTML 문서와 함께 전송되는 MIN 타입은
문서가 초기에 어떻게 해석해야 하는 지에 대한 영향을 끼칠 것이다.
XHTML MIME 타입과 함께 전송된 문서는
잘 구성된 XML로 기대되며,
문법 오류는 브라우저가 그것을 해석하지 못하게 할 것이다.
HTML MIME 타입과 함께 전송된 동일 문서가
HTML에 관대한 브라우저에서는 성공적으로 출력될 것이다.
W3C 권고안에서는 권고안 부록 C에 나오는 가이드라인을 따르는
XHTML 1.0 문서는 MIME 타입으로 표시될 것이다.
현재의 XHTML 1.1 작업 초안은 또한 XHTML 1.1 문서는
MIME 타입으로 표시될 것이라고 언급하고 있다.
'Dev_Study > HTML' 카테고리의 다른 글
[HTML] 2.HTML Form Elements 종류 (0) | 2021.05.29 |
---|---|
[HTML] 1.HTML DOM ( Document Object Model ) (0) | 2021.05.29 |