1. Node.js와 Express의 개요

1.1 Node.js란?

image.png


1.2 Express란?

image.png


2. 왜 Express를 사용해야 하는가?

2.0 우리 앱에서 Express를 사용하는 이유 (보안)

이유 핵심 설명
API Key 노출 방지 React 번들은 누구나 열어 볼 수 있어 REACT_APP_GEMINI_API_KEY가 그대로 탈취됩니다. Express에 두면 키는 서버 환경 변수에만 존재해 안전합니다.
CORS & 프록시 Gemini 도메인이 브라우저에서 직접 호출될 때 CORS 오류가 발생할 수 있습니다. Express가 중계하면 동일 출처 요청으로 처리돼 깔끔하게 해결됩니다.
스트리밍·웹소켓 Gemini 스트림 응답을 서버가 받아 압축·필터링·SSE/WebSocket으로 내려주면 브라우저 호환성과 실시간 UX를 동시에 잡을 수 있습니다.
민감 데이터 처리 사용자 메시지를 서버에서 로그/마스킹·감사한 뒤 Gemini로 전달하면 개인정보 유출 리스크를 줄이고, 필요 시 서버 쪽 AI 모델로 후처리할 수도 있습니다.
추가 비즈니스 로직 인증·결제·파일 업로드·캐싱 등 앞으로 붙을 기능을 클라이언트에 남기기엔 보안·성능이 취약합니다. Express가 중앙 허브 역할을 해 주는 편이 확장성이 높습니다.
버전·트래픽 제어 A/B 테스트나 Canary 배포 시 서버에서 엔드포인트 라우팅만 바꿔도 전체 앱 업데이트 없이 트래픽을 조절할 수 있습니다.