JSON 과 XML

·2023년 5월 6일
0

개발 지식

목록 보기
70/96
post-thumbnail

XML

XML은 eXtensible Markup Language의 약자로, 데이터 저장과 전송을 위한 형식을 정의하는 마크업 이다. HTML과 마찬가지로 태그를 사용하여 데이터 구조를 표현하며, 데이터가 어떻게 구성되는지를 표현할 수 있는 장점이 있다.

<person>
  <name>John Doe</name>
  <age>30</age>
  <gender>Male</gender>
</person>

XML은 특히 웹 서비스의 분야에서 많이 사용되며, 데이터의 구조화를 가능하게 하기 떄문에, 데이터의 처리와 분석에 용이하다.

한계

  • 마크업 언어로 태그를 활용하여 구성을 이해하기 쉽지만, 일반 텍스트보다 길고 작성할 것이 많다.
  • 구문 분석에 리소스와 시간이 필요하다. 큰 데이터의 경우 용량이 크며 다룰 때 성능 문제가 발생한다.

JSON

JSON은 JavaScript Object Notation의 약자로, 데이터 교환을 위한 경량의 데이터 형식이다. XML과 비교하여 더 적은 구문을 사용하면서도, 구성을 이해하기 쉽다는 장점도 있으면서, 키-값 속성을 통해 더 빠른 파싱이 가능하다.

{
  "person": {
    "name": "John Doe",
    "age": 30,
    "gender": "Male"
  }
}

최근에는 웹 서비스의 대부분의 데이터 포맷이 JSON으로 이루어진다.

한계

  • 주석을 사용할 수 없다.
  • 데이터의 구조화를 위한 스키마가 없다.

SOAP

SOAP은 Simple Object Access Protocol의 약자로, 웹 서비스에서 사용되는 프로토콜 중 하나이다. XML 기반으로 하며, 보안, 트랜잭션, 메시지 전송 등의 기능을 제공한다. SOAP은 HTTP, SMTP 등의 프로토콜을 이용하여 메시지를 전송하는, RESTful API와는 달리, URL을 사용하지 않는다.

SOAP은 대규모 시스템에서 데이터를 안전하게 전송할 수 있는 강력한 기능을 제공하지만, XML 구문 분석에 필요한 리소스와 시간이 많이 소모되어, RESTful API보다 느리고 복잡하다는 단점이 있다.

보안적인 통신에서 중요한, 기업용 시스템, 금융 시스템 등에서 현재에도 자주 사용되는 프로토콜이며, 해당 프로토콜이 필요한 경우라면 아직도 XML을 사용하고 있다. 이 역시도 RESTful 서비스로 전환되고 있는 추세이다.

profile
새로운 것에 관심이 많고, 프로젝트 설계 및 최적화를 좋아합니다.

0개의 댓글