일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Expo
- react natvie
- js
- 빌딩 블록
- rn
- Aggregate
- nextJS
- BOUNDED CONTEXT
- ui thread
- IAP
- expo updates
- HTML
- 이펙티브 타입스크립트
- sharedvalue
- DDD
- 정보처리기사
- 애그리게이트
- 불변식
- 정처기 자격
- TS
- in app purchase
- 속도개선
- 코드 푸시
- rniap
- 정처기 준비물
- 비동기
- React Native
- typeScript
- collapsibletabview
- 타입스크립트
- Today
- Total
nika-blog
CORS(Cross-Origin Resource Sharing) 교차 출처 리소스 공유 본문
CORS 란?
추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다.
필요한 이유?
보안 상의 이유로, 브라우저는 스크립트에서 시작한 교차 출처 HTTP 요청을 제한합니다.
CORS 이슈 해결 방법?
- 서버의 Access-Control-Allow-Origin 헤더에는 요청의 Origin 헤더에서 전송된 값이 포함되어야 합니다.
(서버에 접근가능 할 때 가능)
- 동일한 출처에서 리소스 요청하기
공공 API 등 서버에 접근할 수 없는 경우 어떻게 해결?
1. 남이 만든 프록시 서버 사용하기
단점 : 서버 과부하 방지를 위해 네트워크 요청 횟수가 제한됨.
장점 : 별 생각 없이 사용가능
ex : http://cors-anywhere.herokuapp.com/corsdemo
2. 직접 프록시 서버 구축하기
express 서버 구축, Heroku 서버 배포 및 호스팅
3. http-proxy-middlesare 라이브러리 사용하기
(로컬 환경일 경우 한정)
설치 : npm i -save http-proxy-middleware
활용: src/setUpProxy.js
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app){
app.use(
createProxyMiddleware('/api', {
target: 'https://api.nexon.co.kr',
changeOrigin: true,
pathRewrite: {
'^/api': '' // URL ^/api -> 공백 변경
}
})
)
};
요청 : scr/Reducer/matchDetail.js
...
export const fetchMatchDetail = (matchId) => async (dispatch) => {
dispatch({ type: GET_MATCH_DETAIL });
const config = {
method: 'get',
url: `api/kart/v1.0/matches/${matchId}`,
headers: {
Authorization: process.env.REACT_APP_NEXON_AUTHORIZATION
},
};
...
https://xiubindev.tistory.com/115
나를 너무나 힘들게 했던 CORS 에러 해결하기 😂
🔥 사건의 발단 : 외부 API 호출 때는 바야흐로 2020년 3월. 프론트엔드 공부를 시작한 지 얼마 되지 않은 채 홀로 토이 프로젝트를 진행하던 중이었다. 코로나 바이러스 관련 웹서비스를 만들고자
xiubindev.tistory.com
https://react.vlpt.us/redux-middleware/09-cors-and-proxy.html
9. CORS 와 Webpack DevServer Proxy · GitBook
9. CORS 와 Webpack DevServer Proxy 브라우저에서 기본적으로 API를 요청 할 때에는 브라우저의 현재 주소와 API 의 주소의 도메인이 일치해야만 데이터를 접근 할 수 있게 되어 있습니다. 만약 다른 도메
react.vlpt.us
'etc' 카테고리의 다른 글
정보처리기사 실기: 정처기 자격요건, 준비물, 기출문제 강의 (1) | 2025.01.24 |
---|---|
정보처리기사 필기: 정처기 자격요건, 준비물, 기출문제 강의 (2) | 2023.05.17 |
클린코드, code Style Guide (0) | 2022.02.27 |
Git: PR + 이슈 작성하기(Pull Request) (0) | 2022.02.24 |
Git 컨벤션 (0) | 2022.02.24 |