요청 병합(요청 병합)이란 무엇인가요?
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 대상자: 프론트엔드 개발자, 인증/토큰 관리 시스템 설계자
- 난이도: 중급 (비동기 프로미스, 캐싱 기술 이해 필요)
핵심 요약
- 요청 병합은 동시 발생하는 API 요청을 하나로 통합하여 중복 네트워크 호출을 방지하는 기법입니다.
refreshTokenPromise
변수를 통해 동시 요청 시 단일 프로미스를 공유하고, 그 결과를 모든 요청에 공유합니다.- 인증 토큰 갱신 시 중복된 토큰 갱신 요청을 피해 성능 향상을 달성합니다.
섹션별 세부 요약
1. 문제 상황 설명
- 인증 토큰이 만료된 경우 여러 컴포넌트가 동시에 토큰 갱신 요청을 발생시킬 수 있습니다.
- 이로 인해 중복된 네트워크 호출과 성능 저하가 발생합니다.
isTokenExpired()
함수를 통해 토큰 유효성을 확인합니다.
2. 요청 병합 기술 설명
refreshTokenPromise
변수를 사용해 동시 요청 시 단일 프로미스를 공유합니다.fetchRefreshToken()
API 호출 결과를 모든 요청에 공유하여 중복 호출을 방지합니다.- 에러 처리 시
finally()
를 통해 프로미스 상태를 초기화합니다.
3. 코드 구현 예시
getAuthorizationToken()
함수 내에서refreshTokenPromise
를 체크하고, 존재하지 않을 경우 토큰 갱신 요청을 시작합니다.Cookies
라이브러리를 사용해 토큰 값을 저장/업데이트합니다.refreshTokenManager()
를 통해 리프레시 토큰을 관리합니다.
결론
refreshTokenPromise
변수를 통해 중복된 API 요청을 방지하고, 네트워크 효율성을 높이는 것이 핵심입니다.- 에러 처리 및 프로미스 초기화 로직은 시스템 안정성을 확보하는 데 필수적입니다.
- 인증 토큰 관리 시 요청 병합 기술을 적용해 성능 향상을 달성하세요.