본문 바로가기

Network & Web

메타데이터와 MIME미디어 타입 / XML과 HTML의 차이

WEB을 지탱하는 기술을 읽다가 갑자기 궁금해져서 정리하는 글

 

 HTTP 헤더에 메타데이터, 미디어타입이 들어가는 건 알겠는데 둘의 차이가 뭘까?

 

찾아보니

메타데이터란, 데이터를 설명하는 데이터이다.

따라서 여기서 데이터(리소스라고도 함)란 HTML 문서 등 데이터를 표현하는 http 바디 부분에 해당함.

그리고 그것을 설명하는 부분을 메타데이터라고 지칭할 수 있다.

 

미디어타입이란, (여기서 MIME 미디어타입은 간단히 미디어타입이라고 부르자.)

바디의 형식이 어떠한 종류인가, 인코딩 설정 등을 정의 하는 부분이다. 따라서 Content-type, charset 등임.

 

 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="olivejua">
<meta name="description" content="example">

메타에는 데이터를 설명하는 내용을 담고 그 안에 미디어 타입이 포함되어 있다.

하지만 위의 예시에서 설명해 주듯이 메타데이터는 미디어타입을 정의해놓을 뿐만 아니라 리소스에 대한 정보를 담고 있다.

 

 

 

그렇다면

XML과 HTML의 차이는 무엇인가.

다가오는 느낌은 비슷한데 알고보면 다른 두가지이다.

 

둘 다 마크업언어라는 것은 공통된 점이지만 목적에서 차이가 있다.

 

잠깐 여기서 마크업언어란 무엇인가? >> 태그로 문서의 구조를 표현하는 컴퓨터 언어이다.

 

XML은 데이터 교환을 목적으로 두었다면 HTML은 데이터 표현을 목적으로 두고 있다.

 

HTML은 너무도 친숙해서 데이터를 표현하는 언어라는 것. 그리고 정해진 태그를 활용하여 페이지를 만들 수 있다는 사실은 너무도 잘 알고 있다.

 

하지만 잘 사용하지 않았던 XML은 무엇인가?

우선 과거에 Github 블로그로 개발블로그로 만들었을 때 Atom이란 툴을 썼었고, 여기서 페이지를 표현하는 것이 굉장히 어려웠다. 근데 Atom이 XML에 포함 되어있는 언어였다.

 

 

아래의 예시와 같이 태그도 내 마음대로 지정이 가능하다. 대신 데이터를 전달하기 위한 목적이니만큼 이 태그가 웹페이지에 HTML처럼 기능을 하지는 않는다. 그저 태그로 묶어 정보를 이름짓고 저장해둔 형태라고 볼 수 있다.

<title>제목1</title>
<author>작성자1</author>
<description>설명1</description>

 

대신 HTML과 달리 XML는 웹브라우저 등 어느 특정 환경이 구애받지 않는다.

 

'Network & Web' 카테고리의 다른 글

RESTful API는 어떻게 만들 수 있을까?  (0) 2020.11.29
HTTP 메시지의 구조  (0) 2020.11.27
웹 애플리케이션의 구조와 흐름  (0) 2020.11.27
[웹을 지탱하는 기술] JSON  (0) 2020.11.25