개발자
리엑트로 프로젝트를 만들고 있습니다. 리액트 내부에서 라우터로 정의된 url이 아닌 완전 별개의 url을 요청하고 싶습니다. url요청시 토큰이 필요해서 토큰을 같이 전달해야하는 상황인데 방법이 있을까요?
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 01월 22일
레스폰스 헤더에 정보를 추가하는 것은 서버 측에서 수행됩니다. 브라우저는 이러한 헤더를 수정할 수 없습니다. React나 JavaScript는 클라이언트 측 언어이므로, 리액트 앱에서 직접적으로 토큰을 포함하여 새 창에 URL을 열 수 없습니다. 다만, 아래와 같은 대안 방법들이 있습니다: 1. **서버 사이드 랜더링을 사용하십시오**: 이 경우 서버가 새로운 탭/창에 토큰을 전달할 수 있습니다. 2. **인터셉터/미들웨어를 사용하십시오**: 모든 HTTP 요청을 가로채고 해당 토큰을 요청 헤더에 추가할 수 있습니다. 3. **URL의 파라미터로 토큰을 전달하십시오**: 이 방법은 보안상 좋지 않으므로 권장하지 않습니다. 기본적으로, 클라이언트 사이드 JavaScript에서 새 창의 HTTP 요청 헤더를 변경하는 것은 웹 보안 상 선언된 제한 때문에 불가능합니다. 가능한 알ternative는 API 요청(새 탭으로 열리지 않음)를 생성하고 그 결과를 새 탭에서 열 수 있는 URL로 사용하는 것입니다. 이렇게 하면 서버는 이 API 요청의 응답 헤더에 대한 완전한 제어권을 가집니다. 하지만 이것은 당신이 원하는 구체적인 동작은 아닐 수 있습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!