일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백준
- dfs
- 완전탐색
- 프로그래머스
- 후니의 쉽게 쓴 시스코 네트워킹
- 동적계획법
- 위상정렬
- mst
- swea
- 수학
- JUnit 5
- BFS
- Kotlin
- 플로이드-와샬
- 투 포인터
- 그리디
- java
- 유니온 파인드
- 문자열
- CS
- 에라토스테네스의 체
- 스택
- 이분탐색
- 알고리즘
- 세그먼트 트리
- 백트래킹
- Network
- 구현
- 시뮬레이션
- Effective Java
반갑습니다!
[Network] XML, JSON 비교 본문
XML? JSON?
XML과 JSON은 모두 구조화된 문서를 전송 가능하게 만든 텍스트 포멧 형식을 말한다. 쉽게 말해 서버와 클라이언트가 데이터를 주고 받을 때 지정하는 형식이라고 할 수 있다.
XML
XML은 eXtensible Markup Language의 약자로 HTML과 유사한 태그 기반 마크업 언어이다. XML은 태그 기반 언어이기 때문에 다음과 같이 구성되있다.
<dog>
<name>멍멍이</name>
<age>3</age>
<height>64</height>
<weight>2.14</weight>
</dog>
이처럼 태그를 통해 간단하게 데이터를 표현한다 장점을 알 수 있다. 하지만 XML의 치명적인 단점도 태그 때문에 발생한다. 태그를 통해 데이터를 표현하기 때문에 배열구조, 반복구조일 경우 불필요한 데이터가 계속 나타나고, 불필요한 태그로 인해 데이터의 크기가 커진다. 데이터가 커짐으로써 읽기/쓰기 시간이 오래걸리고 파싱이 어렵다는 치명적인 단점이 생기는 것이다.
JSON
JSON은 JavaScript Object Notation의 줄임말로, XML의 단점을 보완하기 위해 나온 데이터 표현 형식이다. JSON은 XML과 달리 태그를 사용하지 않는다. JSON은 JavaScript 언어에서 객체를 표현하는 방식과 동일하게 데이터를 표현한다. 위의 XML 예시를 JSON으로 표현하면 다음과 같다.
{
"name": "멍멍이",
"age": 3,
"height": 64,
"weight": 2.14
}
이처럼 태그를 사용하지 않고 속성-값 꼴로 데이터를 표현하기 떄문에 XML에 비해서 데이터의 양이 줄어들었음을 알 수 있다. 데이터의 양이 줄었기 때문에 상대적으로 XML보다 읽기/쓰기 시간이 빠르고 파싱이 빠르다는 장점이 있다. 하지만 JSON에도 단점은 존재한다. 내용이 함축적이기 때문에 의미 파악이 어렵다는 점과 XML에 비해 적은규격의 데이터 전송엔 적합하지만 대용량의 데이터 송수신엔 부적합하다는 단점이 있다.
'CS' 카테고리의 다른 글
[Network] 후니의 쉽게 쓴 시스코 네트워킹 Part 1 (0) | 2020.10.03 |
---|---|
[Network] HTTPS (0) | 2020.05.25 |
[OS] Lock (0) | 2020.05.14 |
[Network] 프록시 서버 (0) | 2020.05.12 |
[Network] URL, URN, URI (0) | 2020.05.12 |