일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 카카오 알고리즘
- 구조체배열
- 카카오 코테
- 알고리즘
- spring boot
- AWS
- thymeleaf
- nestJS
- python
- @Component
- 시스템호출
- TypeORM
- 코테
- nestjs typeorm
- 파이썬
- C언어
- 프로그래머스
- 가상면접사례로배우는대규모시스템설계기초
- C++
- git
- OpenCV
- Nodejs
- 해시
- Spring
- nestjs auth
- @Autowired
- 카카오
- 컴포넌트스캔
- 스프링
- 코딩테스트
- Today
- Total
공부 기록장 💻
[Web Data Format] XML, JSON 포맷 파일이란? 본문
XML의 정의
- Extensible Markup Language
- W3C 권고 확장성 있는 마크업 언어 (W3C, World Wide Web Consortium - 회원기구, 정직원, 공공기관이 협력하여 웹 표준을 개발하는 국제 컨소시엄)
- W3C가 인간과 응용 프로그램 간, 혹은 응용 프로그램 간에 정보를 쉽게 교환하기 위해 만든 데이터 교환 포맷
XML과 HTML의 차이
- XML은 data를 전달하는데에 포커스를 맞춘 언어
- HTML은 data를 표현하는데 포커스를 맞춘 언어
- XML은 HTML과 달리 tag가 미리 정의되어 있지 않음
XML 언어의 특징
- 표준성: W3C에서 표준화를 주도하여, SGML과 HTML 의 한계를 극복하기 위해 만든 표준 인터넷 언어 (SGML, Standard Generalized Markup Language - 문서용 마크업 언어를 정의하기 위한 메타 언어)
- 분리성: 표현과 내용이 완전히 분리되어, XML 문서는 데이터의 구조와 내용을 기술하고 있으며, 스타일 시트를 이용하여 다양한 방식으로 데이터를 표현한다.
- 단순성, 호환성: 텍스트로 되어 있으므로 HW, SW에 의존하지 않고 읽어들일 수 있으며, 다양한 시스템 간에 상호 작용을 중계하는데 이용될 수 있다.
- 수용성: HTML과 같이 현재 인터넷에서 가장 많이 사용되는 HTTP 프로토콜을 이용하여 전달
- 확장성: 확장성 있는 태그를 사용하므로, 어떤 분야의 데이터도 정확하게 기술
- 정보검색의 정확성: 의미가 있는 태그들을 사용함으로써 원하는 데이터를 쉽게 찾을 수 있다.
XML 언어의 장점
- HTML처럼 쉬우면서도, SGML의 강력한 기능을 갖는다. 사용하기 쉬우면서, 강력하게 데이터를 정의하고 표현한다.
- 확장성 있는 마크업 언어로, 데이터를 정의하는 태그를 직접 정의할 수 있다.
- 새로운 마크업 언어를 만든다.
XML 언어의 구조
- XML Tree Structure : root에서 시작하여, leaves로 뻗어 나가는 트리 구조
- The XML Prolog : XML 버전과 문자 인코딩을 정의하는 prolog
<?xml version="1.0" encoding="UTF-8"?>
- XML Namepsaces - The xmlns Attribute : Name conflict (여러 개의 xml 파일을 사용할 때 각각의 xml 파일에서 정의하고 있는 tag 이름이 겹쳐 충돌하는 문제) 를 해결하기 위해, XML에서는 Prefix를 사용할 수 있다.
JSON이란?
JSON (Javscript Object Notation) 이란, 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 방식이다.
JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 XML을 대체해서 데이터 전송에 많이 사용된다.
Javascript에서 객체를 만들 때 사용하는 표현식을 의미한다.
JSON의 특징
- 서버와 클라이언트 간의 교류에서 일반적으로 많이 사용된다.
Javascript 객체 표기법과 아주 유사하다.
Javascript를 이용해 JSON 형식의 문서를 쉽게 JS 객체로 변환할 수 있다는 이점이 있다.
특정 언어에 종속되지 않으며, 대부분의 프로그래밍 언어에서 JSON 포맷의 데이터를 다룰 수 있는 라이브러리를 제공한다.
XML VS JSON
- XML은 데이터 값 양쪽으로 태그가 있다.
- JSON 은 태그로 표현하는 대신 중괄호 '{}' 의 형식으로 하고, 값을 ',' 쉼표로 구분하여 나열하기에 표현이 간단하다.
- JS 객체와 마찬가지로 key-value 값이 존재할 수 있으며, key값이나 문자열은 항상 쌍따옴표 "" 를 이용하여 표기해야 한다.
- 객체, 배열 등의 표기에 사용 가능하다.
- 원하는 만큼 중첩 시켜서 사용 가능하다.
[참고 자료]
https://helloworld-88.tistory.com/67
https://velog.io/@surim014/JSON%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
'# Tech Studies > Web' 카테고리의 다른 글
[Web] 웹 브라우저 쿠키(Cookie)와 세션(Session)의 개념 (1) | 2022.08.24 |
---|---|
[Web/Backend/Auth] JWT란 무엇인가? (0) | 2022.08.23 |
[Backend/Web Server/Django Deploy] 웹 서버와 WAS, Django 배포 (0) | 2021.08.21 |
[Backend/Database] 데이터베이스 모델링, RDB/NoSQL Modeling, MySQL 실습 (0) | 2021.08.13 |
[Backend/Database] Database, DB Query, RDB(Relational DB)/NoSQL, ORM(Object-Relational Mapping) (3) | 2021.08.04 |