투케이2K

66. (Network/네트워크) Access-Control-Expose-Headers 액세스 제어 노출 헤더 설명 본문

Network

66. (Network/네트워크) Access-Control-Expose-Headers 액세스 제어 노출 헤더 설명

투케이2K 2024. 10. 4. 19:41

[구 분]

구분 : Network / 네트워크

제목 : Access-Control-Expose-Headers 액세스 제어 노출 헤더 설명

 

[설 명]

 

// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------

- 환경 : Web / HTTP

- 기술 : CORS (Cross-Origin Resource Sharing)

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[설 명]
// --------------------------------------------------------------------------------------

1. Access-Control-Expose-Headers 는 교차 출처 요청에 대한 응답으로 브라우저에서 실행되는 스크립트에 어떤 응답 헤더를 제공할지 지정 할 수 있습니다


2. Access-Control-Expose-Headers 이해 시 CORS-safelisted response header 의미도 중요한 개념이며, 기본적으로 클라이언트는 CORS-safelisted 응답 헤더에 정의된 값만 확인할 수 있습니다


3. CORS-safelisted response header 헤더에 정의 된 옵션 외에 커스텀 헤더 값 확인 시 브라우저 스크립트에서 제한이 발생해 확인이 불가능할 수 있습니다

  >> CORS-safelisted response header 에 속하는 헤더 목록 
     - Cache-Control
     - Content-Language
     - Content-Length
     - Content-Type
     - Expires
     - Last-Modified
     - Pragma

  >> 추가적인 헤더에 접근하기 위해서는 서버 단에서 Access-Control-Expose-Headers 응답 헤더 정의 필요


4. 서버 exposedHeaders 설정 샘플 소스 (SpringBoot) : 

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                .allowCredentials(true)
                .exposedHeaders("Authorization") // [노출 헤더 설정]
                .maxAge(3600);

// --------------------------------------------------------------------------------------





// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[Web Doc CORS 설명]

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers

// --------------------------------------------------------------------------------------

 

반응형
Comments