오늘은 웹 기술 중 '데이터'를 위한 기술에 대해 알아보겠다.
XML (eXtensible Markup Language)
XML은 전자적으로 데이터를 교환하기 위한 표준이다. HTML과 같은 마크업 언어이지만 특정 태그에 제약을 받지 않는다. 데이터를 표현하기 위한 언어이니만큼 태그를 사용자가 정의할 수 있도록 하여 내용성을 강조 하였다.
(예시)
HTML |
XML |
<h1><fond=bold>Hello!!</font></h1> |
<greeting>Hello!!</greeting> |
- XML의 특징
- 단순성: XML은 다른 코드셋이 아닌 일반 텍스트로 되어 있어 판독이 가능하며, HW/SW에 의존하지 않으므로 단순해질수 있는 특징이 있다.
- 표준성: W3C가 주도하므로 스펙의 표준화를 이룰 수 있다.
- 구조성: Data에 구조를 부여한다. XML은 data를 설명하는 의미가 담긴 태그를 제공할 뿐 아니라 특정 구조를 저장한다.
- 확장성: 사용자 임의로 무한한 태그 확장을 할 수 있으며, 상황에 따라 적절한 태그의 부여가 가능하다.
- Character Set: 모든 XML프로세서는 16bit Unicode를 지원하므로 한글과 같은 2byte 문자권의 데이터도 처리 가능하다.
참고
http://blog.daum.net/_blog/BlogTypeView.do?blogid=0FDfM&articleno=11281814
JSON (JavaScript Object Notation)
JSON(JavaScript Object Notation)의 약자로 JavaScript에서 객체를 만들 때 사용되는 경량의 DATA-교환 형식이다. 이 표현식은 사람도 이해하기 쉽고 기계도 이해하기 쉬우면서 데이터의 용량이 작다. 이런 이유로 최근에는 JSON이 XML을 대체해서 설정의 저장이나 데이터 전송 등에 많이 사용된다.
- JSON의 구조 및 특징
- Ajax로 서버와 통신하며 손쉽게 데이터를 주고 받을 수 있다.
- Name, Value 형태의 쌍으로 구성된다.
- 값들의 순서화된 리스트로 나타난다.
|
XML |
JSON |
용량 |
크다 |
가볍다 |
데이터 타입 |
String |
stringm sumber, array, boolean |
속도 |
느리다 |
빠르다 |
구성 |
<tag> |
객체, 배열 구조 |
참고
Ajax (Asynchronous JavaScript and XML)
웹브라우저는 기본적으로 정적인 시스템이다. 흔히 우리가 인터넷 서핑을 하며 게시물들을 볼 때, 새로운 게시물이 올라왔는지 확인하기 위하여 '새로고침'을 누른다. 이는 웹이 전자 문서를 염두에 두고 고안된 시스템이기에 당연하게 생각되었다.
하지만 Ajax가 도입되며 모든 것이 바뀌었다. Ajax는 웹브라우저와 웹서버가 내부적으로 데이터 통신을 할 수 있게 해준다. 그리고 변경된 결과를 웹페이지에 프로그래밍적으로 반영함으로써 웹페이지의 로딩 없이 서비스를 사용할 수 있게 한다. 예로 여러분이 Facebook을 사용할 때에 '새로고침'을 누르지 않더라도 새로운 포스팅이 업데이트 되는 것을 확인할 수 있다.
Ajax는 JavaScript를 이용하여 비동기적으로 서버와 브라우저가 데이터를 주고받게 해준다. 이때 사용하는 API가 XMLHttpRequest이다. Ajax의 약자를 확인해보면 XML이라는 단어가 들어가지만 꼭 XML만 사용해야하는 것은 아니다. 오늘날은 오히려 JSON을 활용하여 데이터 통신이 더 많이 이루어지고 있다.
참고
'IT & 개발 > 웹키워드' 카테고리의 다른 글
[웹키워드 #10] ActiveX (0) | 2017.04.25 |
---|---|
[웹키워드#8] URI, URL, HTTP, SSL (0) | 2017.01.03 |
[웹키워드#7] 하이브리드앱, ionic (0) | 2016.12.31 |
[웹키워드#6] MEAN Stack (MongoDB, Express, AngularJS, node.js) (0) | 2016.12.29 |
[웹키워드#5] Framework (Framework7, Spring) (0) | 2016.12.28 |