Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- js
- 초기셋팅
- Next
- deep dive
- 소셜 로그인
- 최적화
- vercel
- 코딩테스트
- 프로그래머스
- 오블완
- 셋팅
- CORS
- useRouter
- 구글 로그인
- 모던자바스크립트
- 티스토리챌린지
- nextjs
- 코테
- 스파르타코딩클럽
- 자주 까먹는
- 프로젝트 셋팅
- array정적메서드
- vscode
- 모던 자바스크립트
- git
- 코드카타
- 내일배움캠프
- domain
- React
- error
- Today
- Total
도록
[CORS] fetch는 OK인데, axios에서만 CORS가 나요 본문
요약해서 말하면, axios와 fetch의 기본 설정이 달라 같은 요청처럼 보여도 다른 처리가 되고 있기 떄문이다.
내 개발 환경에서는 Gateway가 api prefix를 붙여주는데, 여기에서 오류가 발생하고 있었다.
나는 내가 직접 prefix를 붙여주는 방식으로 해결했다.
- Gateway로 API요청을 보내면, api path를 보고 사용자면 auth server로, project라면 project server로 요청을 보낸다.
- 요청을 분기 쳐줄 때, api의 path에 api path의 prefix를 붙여준다.
(ex. http://gateway-host.com/api/login -> http://auth-host.com/auth/api/login) - origin 주소가 요청한 내 주소(localhost) 가 아닌 gateway의 주소가 들어가 CORS가 발생했다.
fetch와 axios는 동작 방식이 다르다.
- 기본적으로 fetch는 정말 최소한의 설정만 되어 있고, 개발자가 필요한 것들을 커스텀해서 써야한다. 가볍다.
- axios 는 조금 더 편의성을 위해 자주하는 설정들이 추가되어 있다.
fetch | axios | |
default Content-Type | 보내지 않음 (필요할 때 개발자가 설정해주어야 함) |
application/json → preflight 요청 발생 |
withCredentials | false (특정 설정에서는 true) |
같이 보면 좋은 것들
[네트워크/HTTP] OPTIONS 메소드를 쓰는 이유와 CORS란? - 하나몬
⚡️ HTTP OPTIONS 메소드를 쓰는 이유와 CORS란? ❗️CORS란? 웹 브라우저에서 외부 도메인 서버와 통신하기 위한 방식을 표준화한 HTTP 헤더 기반 메커니즘이다. 클라이언트와 서버가 서로 다른 도메
hanamon.kr
Axios를 사용하면 왜 CORS 이슈가 생기는걸까?
서론 파일 업로드 기능 구현을 위해 React(3000번 포트)에서 Spring(8080포트)으로 multipart/form-data 를 전송하는 테스트를 진행했을 때에는 CORS 문제가 발생하지 않았었다. 하지만 Axios를 사용하였더니 CO
aodtns.tistory.com
'Today I Learned > in dev' 카테고리의 다른 글
SockJs 적용하기 (React/typescript) (0) | 2024.12.23 |
---|---|
tailwind css가 dev, prod에 올리면 적용되지 않아요 (0) | 2024.12.11 |
세션이란? (feat. cookie) (0) | 2024.11.24 |
[vscode] delete `CR` error 해결법 (0) | 2024.11.16 |
기존 react 프로젝트에 typescript 도입하기 (0) | 2024.11.01 |