Report-To
응답 헤더 Security

개요

Report-To는 Reporting API의 구(舊) 버전 설정 헤더로, 브라우저가 CSP 위반·네트워크 오류(NEL)·Deprecation 등 각종 리포트를 어디로 보낼지 이름 붙은 '그룹'과 엔드포인트로 정의합니다. 현재는 더 단순한 Reporting-Endpoints로 대체되는 추세입니다.

자세히

값은 JSON 객체(또는 여러 그룹을 쉼표로 나열한 객체들)로, group(그룹 이름)·max_age(구성 캐시 수명)·endpoints(리포트 수신 URL 배열)를 담고, include_subdomains로 하위 도메인 리포트까지 모을 수 있습니다. CSP의 report-to 지시어나 NEL의 report_to 필드가 이 group 이름을 참조해 실제 목적지를 해석합니다.

Report-To는 여러 엔드포인트·우선순위·가중치·리트라이 큐 같은 풍부한 기능을 정의하는 Reporting API v0에 해당합니다. 그러나 복잡성과 브라우저 간 편차 때문에, 최신 명세는 헤더 하나로 이름=URL만 매핑하는 Reporting-Endpoints(v1)로 단순화했습니다.

실무에서는 폭넓은 호환을 위해 Report-To와 Reporting-Endpoints를 함께 내려보내는 구성이 흔합니다. 최신 브라우저는 Reporting-Endpoints를 우선 사용하고, 구형 브라우저는 Report-To로 폴백합니다. 다만 최신 Chromium은 이미 Report-To 지원을 축소·폐기하는 방향이라 신규 구축은 Reporting-Endpoints를 기준으로 삼는 편이 좋습니다.

문법

Report-To: { "group": "<name>", "max_age": <seconds>, "endpoints": [{ "url": "<url>" }] }

e.g. Report-To: {"group":"default","max_age":10886400,"endpoints":[{"url":"https://example.com/reports"}]}

지시어 / 값

group리포트 그룹 이름. CSP report-to·NEL report_to가 이 이름을 참조.
max_age이 엔드포인트 구성을 브라우저가 기억할 초 단위 수명.
endpoints리포트를 받을 URL 객체 배열(우선순위·가중치 지정 가능).
include_subdomainstrue면 하위 도메인의 리포트도 이 그룹으로 수집.

실무 참고

관련 헤더

관련 상태코드

스펙 근거