JSON
📌 JSON은 클라이언트와 서버가 통신할 때 사용하는 데이터 양식이다. 클라이언트와 서버가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있도록 만들어준다.
- 과거 웹 초기 시절부터 사용된 XML 은 헤더와 태그 등의 여러 요소로 가독성이 떨어지고, 불필요한 용량을 잡아먹는다는 단점을 항상 지적받았다. 이에 대응해 간결하고 통일된 양식으로 각광을 받고 있는 것이 JSON이다.
- 키-값 쌍의 구조로 표현하는 텍스트 기반 데이터 형식이다.
요약
- JSON은 사람, 기계 모두 이해하기 쉬우며 용량이 작다.
- XML을 대체해서 데이터 전송 등에 많이 사용한다.
- 마치 전세계 공통어로 영어를 사용하는것처럼 Web의 세계에서는 JSON(JavaScript Object Notation)을 공통어로 사용한다.
[1] JSON의 배달 비유:
- JSON = 택배 상자
- JSON은 데이터를 담아 보내는 포장 상자와 같습니다.
- 상자 안에 다양한 데이터(키-값 쌍)가 들어있으며, 이 데이터를 꺼내기 위해 상자 구조를 이해해야 합니다.
- 키 = 상자에 붙인 라벨
- 키는 데이터의 이름표로, 택배 상자에 붙이는 "내용물 라벨"과 같습니다.
- 예: "name": "Alice"는 "이름 라벨에 'Alice'라고 적음"과 같음.
- 값 = 상자 속 물건
- 값은 실제로 상자 안에 들어 있는 데이터입니다.
- 예: "age": 25는 "라벨 'age'에 해당하는 물건은 25"라는 의미.
- 배열 = 상자 속 묶음 물건
- 배열은 상자 안에 같은 종류의 물건이 여러 개 담겨 있는 모습과 같습니다.
- 예: "hobbies": ["reading", "coding"]는 "취미 물건 목록".
[2] JSON의 구조:
{
"user": [
{
"first_name": "wonuk",
"last_name": "Hwang",
"age": 100,
"phone_agree": false,
"hobby": ["Java", "Spring"]
},
{
"firstName": "sparta",
"lastName": "Team",
"age": 200,
"phone_agree": true,
"hobby": ["React", "Spring", "Node"]
},
]
}
- snake_case, camelCase 모두 사용이 가능하다.
- 우리가 만드는 Application 내에서 변환해주는 무엇인가가 있다.
- key-value 형태로 구성되어 있다.
- null, number, string, array, object, boolean 형태의 데이터를 사용할 수 있다.
MSA(MicroService Architecture)를 가지게 되면 구성된 Application마다 어떠한 언어를 사용하는지에 상관없이 서로 통신을 할 수 있는데 이것이 가능한 이유는 JSON 형태로 데이터 통신을 하기 때문이다. |
MSA ( MicroService Architecture )
📌 MSA는 애플리케이션을 독립적으로 배포 및 실행 가능한 작은 서비스 단위로 나누어 개발하는 소프트웨어 아키텍처 스타일입니다.
- 각 마이크로서비스는 특정 비즈니스 기능을 담당하며, 서로 독립적으로 배포, 수정, 확장할 수 있습니다.
- 소프트웨어를 작은 단위의 독립적인 서비스로 분리해 개발 및 운영 효율성을 높이는 구조입니다.
- 참고
'CS ( Computer Science ) > 네트워크 (Networking)' 카테고리의 다른 글
[Net] HTTP Header (0) | 2024.12.01 |
---|---|
[Net] HTTP Method (2) | 2024.11.30 |
[Net] HTTP (0) | 2024.11.29 |
[Net] Web 기초 (1) | 2024.11.29 |
[Net] 네트워크 (1) | 2024.11.29 |