외부 API호출을 프론트가 아니라 백엔드에서 처리해야하는 이유.
1. 요금 문제.
요금없는 공공 API인경우에는 그럴필요없이 FrontEnd에서 바로 API구동가능.
하지만, API회사는 IP단위이거나, 건수단위로 요금을 매기기 때문에 IP단위이면 서버가 있어야 한다.
건수 단위라면, 조금이라고 싸게 가져가기 위해선 중복된 요구는 서버에거 Cache에서 처리하면 싸게 할 수 있다.
2. 보안의 문제
API의 Key/Password가 있어아햐는데 이걸 FrontEnd에 두면 노출됨. 똑같이 처리하더라도 서버에서 처리하면 노출될 염려가 없음.
-> 일전에 개인 프로젝트에서 로그인 API를 화면에서 호출했을때 API KEY가 노출되는 것을 보고 이렇게 만들면 안되는 것아닌가,, 라는 고민을 했었다. API KEY는 고유비밀번호임으로 노출되면 악용될 위험이 있기 때문이다.
그러니 공공데이터가 아닌 SNS로그인, 결제등의 외부 API는 반드시 백엔드에서 구현해야한다.
3. CORS 충돌 문제 방지
프론트에서 호출할 경우 LOCAL에선 무리 없이 불러와지는 외부 API가 실제 서비스에선 CORS보안 문제때문에 프론트에선 호출이 안되는 경우가 있다. 주로 공공보단 보안이 생명인 돈과 관련된 API가 그럴 것이다.
4. 외부 API들 URL 이나 API-KEY 등을 서버에 저장 및 관리하는 것이 유지관리에 편리.
'TIL' 카테고리의 다른 글
SSL Exception 해결하기. 500에러 (0) | 2022.08.29 |
---|---|
jackson 으로 json값 주고 받기 (+ gson) (0) | 2022.08.25 |
cmd 명령어 정리 (0) | 2022.08.25 |
환경변수 설정. (0) | 2022.08.24 |
POSTMAN 사용법 (0) | 2022.04.05 |