TD : review
오늘은 포스트맨 대신 사용할 수 있는 Axios와 서버 프로그램 간에 데이터를 요청할 때 생기는 문제점과 해결 방법 등을 배웠다.
또한 Apollo 서버를 이용하여 GraphQL-API를 작동하는 실습을 진행했다.
Axios
postman과 같이 HTML에서 백엔드 서버 프로그램에 데이터를 요청할 때 사용하는 라이브러리다.
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js">
SOP
SOP : same origin polish
같은 주소끼리만 데이터를 주고받을 수 있게 만든 정책, 포트 번호까지 같아야 한다.
CORS
서로 다른 주소끼리 데이터를 주고받을 수 있게 만든 정책이다.
백엔드 서버 프로그램에서 cors()로 추가해 준 데이터만 주고받을 수 있다.
데이터를 주고받을 사이트만 특정해 줄 수도 있다.
예시
cors({“daum.net”})
preflight
먼저 브라우저가 preflight로 백엔드 프로그램에 물어본 뒤 가능하면 그 이후에 데이터 요청한다.
preflight가 거절당하면 브라우저에서 먼저 데이터 전송을 차단한다. (서버 프로그램에서 차단하는 것이 아니다.)
이를 응용하여 대신 받아와줄 백엔드 서버(프록시 서버: proxy server)를 생성하여 데이터를 받은 후에 브라우저에 연결한다.