마이크로포맷(microformat)은 웹 페이지 및 RSS와 같은 HTML 또는 XHTML 기반의 정보군에서 사용될 수 있는, 특정 마크업을 사용하여 정보를 메타데이터 형태로 가공하는 방식으로 구현되는 정보 포맷 방식을 뜻한다. 줄여서 μF, uF라고 표기한다. 용도에 따라 여러 가지 마이크로 포맷이 존재한다. 마이크로포맷에서는, class[1], rel[2], rev 등의 HTML 속성 마크업들이 사용된다.
보통의 HTML 웹 페이지에 마이크로포맷을 적용시키게 되면, 웹 크롤러 등의 프로그램이 여러 가지 부가 정보를 웹 페이지에서 인식해내는 것이 가능해진다.
배경
월드 와이드 웹(또는 웹)의 마크업 언어인 HTML은 애초에, 정보를 포함한 문서를 기술하기 위해 만들어진 것이다. 한편, 웹의 발전으로, 여러 다양한 종류의 정보들을 공유하기 위한 필요성이 대두되었으며, 의미 마크업을 위해 만들어진 HTML으로는 이를 구현하기에는 기능이 모자란다는 지적들이 나오게 되었다. 즉, HTML은 정보를 문서 단위로 구조화시키는데 특화되어 있어, 특정한 의미를 추출하는데에는 적합하지 않다는 지적이다. 현재 일반적인 검색 엔진은 HTML로 기술된 문서 내의 단어 수준의 검색에 그치고 있어, 특정 기관의 특정 정보(예: 병원 등의 전화번호)를 찾고자 해도, 단어 패턴의 검색 수준으로는 그 적합한 정보를 추출하기가 어렵다는 것이다.
마이크로포맷은 이러한 문제에 대한 해결책의 하나로, HTML에 현실적인 요구사항에 대응할 수 있는 의미 확장을 위한 수단을 목적으로 하고 있다.
마이크로포맷의 예
마이크로포맷의 예로, 연락처 정보를 기술하기 위한 hCard 마크업을 보자. 어떤 연락처의 정보가 다음과 같은 HTML 문서로 기술되어 있을 경우를 보자.
<div>
<div>Joe Doe</div>
<div>The Example Company</div>
<div>604-555-1234</div>
<a href="http://example.com/">http://example.com/</a>
</div>
이 예에서는 표시되는 이름(fn), 소속(org), 전화번호(tel) 및 URL이 기술되어 있으며, 특정한 클래스(class) 이름으로 식별되고 있다. 그리고 이 모든 정보는 class="vcard" 로 둘러 쌓여있어, 이 클래스는 hCard(vCard)를 구성하고 있다. (어디까지나 기본적인 예이며, hCard에는 이 외에도 여러 클래스들이 준비되어 있다.
이와 같은 방식으로 정보를 구축하여, 브라우저의 플러그인 같은 소프트웨어가 필요한 정보를 추출하여 주소록 등의 다른 애플리케이션으로 연계시켜줄 수 있게 하는 것이 마이크로포맷의 사용처이다.
이용
HTML 문서에 마이크로포맷을 적용시키는 것으로, 다른 애플리케이션들에서 사용되는 의미있는 정보를 추출할 수 있게 된다. 여기에는, 웹 크롤러와 같은 온라인 정보를 수집하는 애플리케이션에서, 전자 메일 프로그램, 일정 관리 소프트웨어 같은 것들이 그 대상이 될 수 있다.