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 |