-
[XML] 데이터포맷 XML (구성/HTML,JSON과 차이/활용)Backend 2024. 2. 11. 13:58
XML이란?
: XML(Extensible Markup Language)은 마크업 형태를 쓰는 데이터 교환 형식
마크업형태
마크업(Markup)은 태그등을 이용하여 문서나 데이터구조를 나타내는 방법 (속성 부여도 가능)
XML의 구성
1. 프롤로그 : 비전, 인코딩
2. 루트요소 (단하나만) : 최상위 태그
3. 하위 요소들
HTML과 XML의 차이
1. HTML의 용도는 데이터를 표시 / XML은 데이터를 저장 및 전송
2. HTML에는 미리 정의된 태그가 있지만, XML에서는 고유한 태그를 만들고 정의 가능 (커스텀가능)
3. XML은 대소문자를 구분하지만 HTML은 구분하지 않는다
eg. <book>대신 <Book>으로 태그를 작성하면 XML 구문 분석기에서 오류가 발생한다.
✴ Error : There are errors in your xml file : mismatched tag
왼 : HTML 파일 / 오 : XML 파일
JSON과 XML의 차이
JSON과 비교했을때 닫힌 태그가 계속해서 들어가기 때문에 JSON과 비교하면 무겁다.
왼 : JSON / 오 : XML 또한 Javascript Object로 변환하기 위해서 JSON보다는 더 많은 노력이 필요하다 (JSON은 JSON.parse()면 된다. 간단.)
왼 : js파일에서 JSON 불러오기 : 오 : 그냥 xml 파일
XML의 활용
sitemap.xml으로 쓰임
"sitemap.xml"이란?
EoTalk이라는 서비스를 만든다고 가정하자.
그렇다면 여기에는 여러개의 페이지가 있을 것이다. (home, user ...)
구글링을 했을 때 EoTalk이 많이 검색되게 하는 것을 SEO(Search Engine Optimization) 검색엔진최적화라한다.
검색은 구글이라는 🎕 Database center에 EoTalk 페이지들이 Token화 되어 저장되어 있는 것이다.
어떠한 알고리즘을 통해 검색이 되는 것이다.
즉, 노출이 되려면 페이지들이 구글 데이터베이스🎕에 많이 들어가 있어야한다.
home페이지에 종속적으로 연결되어있는 페이지들(eg. user, event)은 쉽게 DB🎕에 저장이 된다.
이렇게 저장을 할때 도와주는 프로그램이 있다. ➙ 크롤링 봇
여러개의 서비스들을 찾아 다니면서 이러한 페이지들은 DB🎕에 저장을 한다. But, 종속적이지 않고 독립적인 페이지 (eg.장바구니)는 크롤링 봇이 인지하지 못할 수 있다.
그래서 service를 만들 때는 sitemap.xml이라는 것을 제출해야한다.
예를들어 구글 : https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap?hl=ko
사이트맵 제작 및 제출하기 | Google 검색 센터 | 문서 | Google for Developers
Google에서는 여러 사이트맵 형식을 지원합니다. 이 가이드에서 형식에 관한 정보, 사이트맵 제작 방법, 사이트맵을 Google에 제출하는 방법을 알아보세요.
developers.google.com
'Backend' 카테고리의 다른 글
CRUD 개념 (0) 2024.05.26 인터넷 주소창에 URL을 입력 후 화면에 출력되는 과정 (1) 2024.02.11