똑같은 삽질은 2번 하지 말자
단순 요청(Simple requests), 프리플라이트(Preflight requests) 요청? 왜 axios 요청이 자동으로 두번이 되는지..에 대해(preflight cors) 본문
Javascript
단순 요청(Simple requests), 프리플라이트(Preflight requests) 요청? 왜 axios 요청이 자동으로 두번이 되는지..에 대해(preflight cors)
곽빵 2020. 11. 29. 14:41SpringBoot + Vue.js 로 RestAPI 방식의 사이드 프로젝트를 하는도중에
로그인 시 할일 목록으로 자동으로 끌고 오도록 해놓았는데, 그때 제대로 끌고 오질 못해서 네트워크 패널을 보니
요청이 두번? 들어가 있었다.
우선 왜 두번인지 부터 해결하고 가야겠다고 생각했고, 열심히 검색해 보았다.
출처 : developer.mozilla.org/ko/docs/Web/HTTP/CORS
HTTP CORS 관련 공식문서를 보면 이 요청은 사용자 정의 헤더가 설정되어서
자동으로 preflighted 처리가 된다.
나의 OPTIONS 요청 overview
맞다. 나는 헤더에 토큰값을 실어 보낸다고, 헤더에 임시로 Authorization : (Token 값) 을 추가해 두었는데,
그것 때문에 Simple Request -> Prefilghted Request로 변환되서 요청이 들어갔고,
prefilghted 요청이 됨으로 인해, OPTIONS 요청에는 Token값이 들어가지 않음으로 권한이 없는 403 error가 되었다.
자 이제, 왜 두번요청인지는 알았고, OPTIONS 요청에 대해서는 Token 값을 검사하지 않도록 설정하면,
해결이 될꺼 같다!
"OPTIONS 방식이면 다 허가하겠다" 추가
끝
'Javascript' 카테고리의 다른 글
javasciprt || && 연산자의 활용방법 (0) | 2021.03.30 |
---|---|
Typescript 기본타입 (0) | 2021.02.02 |
Array.prototype.map() 과 Object.assign을 이용한 데이터 편집 (0) | 2020.10.03 |
Tab키 이벤트 Focus이동(tabindex 속성) (0) | 2020.08.25 |
Javascript 정규표현식 (0) | 2020.08.19 |
Comments