반응형
✅ JSON 데이터는 어디서 어디로 전달될까?
JSON은 서버와 클라이언트, 시스템 간 데이터 교환을 위해 사용됩니다.
웹 개발, 모바일 앱, API, 데이터 저장소 등 다양한 곳에서 JSON이 사용됩니다.
📌 1. 웹에서 JSON 데이터 흐름 (예제)
💡 프론트엔드(웹 브라우저) ↔ 백엔드(서버) 간 데이터 교환
예를 들어, 사용자가 웹사이트에서 로그인하면, 브라우저는 JSON 데이터를 서버로 보내고, 서버는 JSON 응답을 반환합니다.
🖥️ 프론트엔드 (JavaScript)에서 JSON 요청
javascript
fetch("https://api.example.com/login", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ username: "alice", password: "1234" })
})
.then(response => response.json()) // JSON 응답을 파싱
.then(data => console.log(data)); // { success: true, token: "abc123" }
- fetch()를 사용해 JSON 데이터를 서버로 전송합니다.
- 서버에서 응답을 받아 response.json()으로 JSON을 파싱합니다.
🖥️ 백엔드 (Python Flask)에서 JSON 응답
python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/login", methods=["POST"])
def login():
data = request.get_json() # JSON 데이터를 받음
username = data["username"]
password = data["password"]
# 간단한 로그인 로직 (실제로는 DB 확인 필요)
if username == "alice" and password == "1234":
return jsonify({"success": True, "token": "abc123"}) # JSON 응답
else:
return jsonify({"success": False, "message": "Login failed"}), 401
if __name__ == "__main__":
app.run(debug=True)
- request.get_json()을 사용해 프론트엔드에서 보낸 JSON 데이터를 파싱합니다.
- jsonify()를 사용해 클라이언트에게 JSON 응답을 반환합니다.
📌 2. JSON 데이터 흐름 (요약)
단계설명| 1. 클라이언트 → 서버 | 웹/앱에서 JSON 데이터를 서버로 전송 (로그인, 폼 제출 등) |
| 2. 서버 → 클라이언트 | 서버는 JSON 형식으로 응답을 반환 (로그인 성공 여부, 데이터 목록 등) |
| 3. 서버 → 서버 (API 통신) | 한 서버에서 다른 서버(API)로 JSON 요청을 보냄 (예: 날씨 API 호출) |
| 4. 데이터 저장소 | JSON 데이터를 파일(JSON 파일) 또는 데이터베이스에 저장 |
📌 3. JSON 데이터 흐름 (API 예제)
예를 들어, 우리가 날씨 API를 호출한다고 가정해 봅시다.
🖥️ 클라이언트에서 API 요청
javascript
fetch("https://api.weather.com/current?city=Seoul")
.then(response => response.json())
.then(data => console.log(data));
🌍 서버에서 JSON 응답
json
{
"city": "Seoul",
"temperature": 25,
"weather": "Sunny"
}
- 클라이언트는 JSON 데이터를 받아 웹 화면에 표시할 수 있습니다.
✅ 결론
- JSON 데이터는 웹/앱에서 서버로 전송되고, 서버는 JSON으로 응답합니다.
- 서버 간(API 통신)에서도 JSON을 사용하여 데이터를 주고받습니다.
- JSON은 데이터 저장소에서도 사용되며, 간결하고 빠른 데이터 교환이 가능합니다.
🚀 즉, JSON은 모든 시스템 간 데이터를 교환하는 표준 형식입니다!
반응형
'IT > Network' 카테고리의 다른 글
| macOS에서 cURL 명령어 사용 방법 (0) | 2025.02.12 |
|---|---|
| Windows에서 cURL 명령어 사용 방법 (0) | 2025.02.12 |
| URL 전송 시 Key 및 Subkey 파라미터 개념 (0) | 2025.02.12 |
| [데이터 전송] 평문 전송 vs 암호화 전송 (0) | 2025.02.09 |
| [JSON] 보안이 강화된 JSON Web Token (JWT) (0) | 2025.02.09 |
| 단말기 브라우저(Terminal Browser)란? (0) | 2025.02.09 |
| [SSL] MAIL 사용시 SSL 서비스란? (0) | 2025.02.06 |
| JSON이란? JSON을 사용하는 이유, JSON의 장점, JSON의 데이터 이동 경로, 아니 그러니까 JSON을 왜 쓰는건데? (0) | 2025.02.04 |
댓글