본문 바로가기

공부기록/[강의노트] Udemy React 완벽가이드 101~200

# 182 [udemy React 완벽 가이드 노트] 리액트가 데이터베이스와 소통하는 방법

 리액트 앱이나 일반적인 브라우저 앱에서

실행되는 자바스크립트 코드는 

데이터베이스와 직접 통신하면 안된다. 

 

 

왜? 

기술로는 어려울 수 있겠지만 

클라이언트 내부에서 데이터베이스에 직접 연결을 하거나

브라우저의 자바스크립트 코드를 통해 직접 연결을 하면

 

그 코드로 데이터베이스의 인증정보를 노출하게 된다.


브라우저에서 실행되는 모든 자바스크립트 코드는 

브라우저 뿐만 아니라 웹사이트 사용자도 개발자도구를 통해 접근하고 읽을 수 있다.

 

데이터베이스 접근을 허가하는 인증 정보등이 노출될 수 있다. 

 

그 외에 성능문제도 발생될 수 있는데 가장 큰 이슈는 보안이다.

 

직접이 아닌 다른 방식을 사용해야 한다. 


예를 들어 백엔드 어플리케이션이다.  (  NodeJS App, PHP App, ...)

브라우저가 아닌 다른 서버에서 실행된다. 

여러 언어로 만들 수가 있다. 

 

이 데이터베이스와 통신하는 백엔드 어플리케이션은

사용자가 백엔드 코드를 확인할 수 없기 때문에 

데이터베이스의 인증정보를 안전하게 저장할 수 있다. 

 

다른 서버에 있으므로 사용자는 코드를 절대 볼 수 없다. 

 

 

리액트앱은 백엔드 서버, 백엔드 API라고 불리는 

서로 다른 URL로의 요청을 전송하는 서버와 통신한다.