Spring_SpringBoot/이론

[JSON] vs [XML]

한번은하자 2024. 6. 15. 18:06

프로젝트를 진행하다가 그냥 JSON이면 JSON인갑다... XML이면 XML인갑다... 하고 썼는데 그 이유를 알아야겠다..

 

XML

정의 : XML(Extensible Markup Language)은 HTML 형식과 같은 태그로 데이터를 표헌하는 방식의 마크업 언어이다.

         → 데이터가 어떤 것을 의미하는지 직관적으로 알 수 있지만, 여는 태그와 닫는 태그로 이루어져 용량을 많이

              차지 한다.

 

1) 데이터가 String형식으로 주로 전달한다. JSON같이 따로 지정된 Object가 없다.

 

2) XML은 보안에 취약하다.

  →  XML폭탄은 매우 큰 개체를 반복적으로 참조하여 문서의 크기를 기하급수적으로 증가시키는 공격이다.

       Dos공격을 유발할 수 있다.

  → DTD(Document Type Definition)

      XML은 DTD를 사용하여 문서의 구조를 정의할 수 있다. DTD는 외부 참조를 포함할 수 있는데

      악의적인 DTD를 통해 시스템 명령을 실행하거나 민감한 정보를 유출할 수 있다.

 

3) 여러 인코딩을 지원한다.

 

JSON

정의 : JSON(Javascript Object Notation)은 자바스크립트 객체 표기법으로 데이터를 전달할 때 사용하는

          표준 형식이다.

 

1) JSON고유의 타입이 있다.

2) XML에 비해 보안에 강하다.

3) UTF-8 인코딩만 지원한다.