HttpTransferCache가 서버에서 클라이언트로 전송하지 않은 HTTP 헤더에 코드가 접근하려고 하면 Angular가 이 경고를 표시합니다.
기본적으로 HttpTransferCache는 보안 문제나 불필요한 데이터 전송을 피하기 위해 헤더를 전송하지 않습니다. 클라이언트가 전송에 포함되지 않은 헤더에 접근하면 Angular는 누락된 헤더를 찾을 수 있도록 이 경고를 기록합니다.
오류 해결
전송 캐시에 특정 헤더를 포함하려면 includeHeaders 옵션을 사용하세요.
개별 요청 수준
HTTP 요청에 transferCache 매개변수를 추가하세요.
this.http.get('/api/data', {
transferCache: {
includeHeaders: ['cache-control', 'etag'],
},
});
애플리케이션 수준
전송 캐시를 제공할 때 includeHeaders를 설정하세요.
provideClientHydration(
withHttpTransferCacheOptions({
includeHeaders: ['cache-control', 'etag'],
}),
);
애플리케이션 로직에 필요한 헤더만 포함하세요. 민감한 헤더를 포함할 때는 주의하세요.
오류 디버깅
경고 메시지에는 헤더 이름과 요청 URL이 포함됩니다. 코드에서 해당 헤더에 접근하는 위치를 확인하고 전송 캐시에 포함해야 하는지 판단하세요.
클라이언트에 해당 헤더가 필요하지 않다면 헤더에 접근하지 않도록 코드를 리팩토링하는 방법을 고려하세요.