캐시 헤더 분석기
URL의 HTTP 캐싱 헤더를 분석합니다. Cache-Control, Expires, ETag, Last-Modified, Vary, Age 및 일반적인 CDN 캐시 신호를 검사하여 브라우저 대 공유 캐시 동작을 이해합니다. 리디렉션 추적, 원시 헤더 보기, 필터링, 문제 발견, JSON/PDF 내보내기를 포함합니다.
기능
- 명확한 점수 카드와 발견 사항을 포함한 URL 기반 캐시 감사 (캐싱/성능 헤더에 초점).
- 리디렉션 추적 (최대 10회)으로 캐싱 규칙이 실제로 적용되는 위치 확인.
- 완전한 투명성을 위한 원시 헤더 보기 (서버/CDN이 실제로 반환한 내용).
- 캐시 분석 하이라이트: Cache-Control 지시문, Expires/Pragma 및 충돌.
- 유효성 검사기 확인: ETag 및 Last-Modified 감지 (조건부 요청 및 재검증용).
- Vary 분석으로 누락되거나 위험한 Vary 동작 포착 (특히 개인화된 콘텐츠용).
- CDN 신호 감지: Age, Via, CF-Cache-Status, X-Cache, Fastly/Akamai/CloudFront 스타일 헤더.
- 필터 및 '문제만 보기' 모드로 신속하게 실행 가능한 문제에 집중.
- 결과를 JSON 및 PDF 보고서로 내보내기 (감사 및 클라이언트 전달물에 적합).
- HEAD 우선 탐색 (GET으로 폴백)으로 대역폭을 최소화하면서 호환성 유지.
🧭 사용 방법 for cache-headers-analyzer
URL 입력
감사하려는 전체 URL을 붙여넣으세요 (예: [https://example.com/static/app.css](https://example.com/static/app.css)).
요청 동작 선택
빠른 검사를 위해 'HEAD 먼저 시도 (GET으로 폴백)'을 활성화 상태로 유지하세요. URL이 리디렉션될 수 있는 경우 (HTTP→HTTPS, www, CDN 등) '리디렉션 따르기'를 활성화하세요.
분석기 초점 선택
균형 잡힌 보기를 위해 '자동 (권장)'을 사용하세요. 엔드포인트에 가장 관련성 높은 발견 사항을 우선시하려면 '브라우저 캐싱', 'CDN / 프록시 캐싱' 또는 'API 캐싱'으로 전환하세요.
발견 사항 및 헤더 카테고리 검토
먼저 점수/발견 사항을 검사한 다음, 캐시 지시문, 유효성 검사기 (ETag/Last-Modified), Vary 분석, CDN 신호 (Age, 캐시 상태 헤더)를 자세히 살펴보세요. 전체 응답이 필요한 경우 '원시 헤더 표시'를 켜세요.
보고서 내보내기
자동화를 위해 JSON 보고서를 다운로드하거나 감사 및 팀원/클라이언트와 공유를 위해 PDF 보고서를 다운로드하세요.
기술 사양
요청 모델
이 도구는 선택적 리디렉션 추적을 포함한 URL 헤더 검사를 수행합니다. 가능한 경우 HEAD 요청을 먼저 시도하고 필요 시 GET으로 폴백합니다.
| 설정 | 동작 | 기본값 |
|---|---|---|
| HEAD 우선 시도 (GET으로 대체) | HEAD를 사용해 헤더를 빠르게 가져옴; HEAD가 지원되지 않거나 불충분할 경우 GET으로 대체 | 활성화됨 |
| 리디렉션 따르기 | 리디렉션 체인을 따라 최종 캐싱 동작을 검사 | 활성화됨 |
| 최대 리디렉션 횟수 | 무한 루프 방지를 위한 리디렉션 상한 | 10 (범위 0–20) |
| 타임아웃 | 요청 타임아웃 제한 | 15000 ms |
| 사용자 에이전트 | 요청 사용자 에이전트를 식별 | Encode64Bot/1.0 (+[https://encode64.com](https://encode64.com)) |
| 사설 네트워크 | 안전을 위해 사설 네트워크 범위 접근 차단 | 비활성화됨 (사설 네트워크 허용 안 됨) |
분석된 헤더 및 신호
분석기는 캐시 의미론(브라우저 및 공유 캐시)과 일반적인 CDN 에지 신호에 초점을 맞춥니다.
| 범주 | 예시 |
|---|---|
| 캐시 지시어 | Cache-Control, Expires, Pragma, Surrogate-Control, CDN-Cache-Control |
| 검증자 | ETag, Last-Modified (조건부 요청/재검증에 사용) |
| 공유 캐시 동작 | s-maxage, stale-while-revalidate, stale-if-error (Cache-Control에 있을 경우) |
| Vary 동작 | Vary (캐시 키 변형 및 개인화 안전성) |
| CDN/프록시 신호 | Age, Via, CF-Cache-Status, X-Cache, X-Cache-Hits, Server-Timing 및 기타 에지 힌트 |
휴리스틱 (경고를 트리거하는 조건)
결과는 누락되거나 모순되거나 약한 캐싱 정책을 발견하는 데 도움이 되는 실용적인 캐싱 휴리스틱에서 도출됩니다.
| 휴리스틱 | 검사 내용 |
|---|---|
| Cache-Control 누락 | Cache-Control이 없을 때 경고 |
| 충돌하는 지시문 | 지시문이 일관되지 않을 때 경고 (예: 혼합된 캐싱 의도) |
| 유효성 검사기 누락 | 캐시 가능한 응답에 ETag/Last-Modified가 없을 때 경고 |
| 약한 유효성 검사기 | 관련된 약한 유효성 검사기 패턴을 표시 |
| Vary 위험 | 변화가 필요할 것으로 보이는 곳에 Vary가 누락된 것 같을 때 경고 |
| Pragma no-cache 불일치 | Pragma: no-cache가 해당 Cache-Control 없이 나타날 때 경고 |
분류 (정적 vs HTML vs API)
분석기는 URL 경로에서 콘텐츠 유형 의도를 추론하여 캐싱 권장 사항을 맞춤화할 수 있습니다.
| 클래스 | 경로 패턴 (예시) |
|---|---|
| 정적 자산 | .css, .js, .png, .svg, .woff2 등 |
| HTML | .html, .htm |
| API | /api/로 시작하거나 .json으로 끝나는 경로 |
명령줄
로컬에서 캐시 헤더를 검사하려면 이 CLI 스니펫을 사용하세요. 이 도구의 결과/점수를 대체하지는 않지만 결과를 빠르게 재현하는 데 도움이 됩니다.
macOS / Linux
HEAD 요청으로 헤더 가져오기
curl -I [https://example.com/static/app.css](https://example.com/static/app.css)본문을 다운로드하지 않고 Cache-Control, Expires, ETag, Last-Modified, Vary 및 CDN 신호를 확인합니다.
리디렉션을 따르고 헤더 표시
curl -IL [https://example.com/](https://example.com/)리디렉션 체인을 표시하여 캐싱 지시문이 변경되는 위치를 확인할 수 있습니다.
Run
Windows (PowerShell)
응답 헤더 가져오기
(Invoke-WebRequest -Uri [https://example.com/static/app.css](https://example.com/static/app.css) -Method Head).HeadersCache-Control, ETag, Last-Modified 및 벤더 CDN 헤더(존재할 경우)를 포함한 헤더 목록을 표시합니다.
사용 사례
정적 에셋 캐싱 감사 (CSS/JS/이미지/폰트)
지문이 적용된(fingerprinted) 에셋이 장기간 캐싱 가능하며 필요 시 효율적으로 재검증될 수 있는지 확인합니다.
- Cache-Control에 긴 max-age 및 (적절한 경우) immutable이 포함되어 있는지 확인
- 안전한 재검증을 위한 검증자(ETag 또는 Last-Modified)가 존재하는지 확인
- CDN 캐시 적중 지표(Age, CF-Cache-Status, X-Cache) 확인
Cache-Control: public, max-age=31536000, immutable
ETag: "686897696a7c876b7e"
Vary: Accept-EncodingHTML 페이지의 우발적 캐싱 방지
CDN 또는 브라우저 수준에서 HTML 페이지가 지나치게 공격적으로 캐싱되어 로그인 흐름, 개인화 및 SEO 렌더링 일관성을 해칠 수 있는 경우를 포착합니다.
- HTML에 대한 지나치게 허용적인 Cache-Control 탐지
- 콘텐츠가 쿠키, 인증 또는 언어에 따라 달라지는 경우 누락된 Vary 식별
- 안전한 재검증 패턴 확인
API 엔드포인트 캐싱 검토
API 응답에 대해 공유 캐시가 활성화되어 있는지, 그리고 API가 안전하게 캐싱 가능한지 이해합니다.
- s-maxage를 통한 공유 캐싱 탐지
- stale-while-revalidate / stale-if-error 전략 식별
- API 응답이 캐싱 가능할 때 누락된 검증자 표시
리디렉션 간 CDN 동작 디버깅
많은 사이트가 리디렉션(HTTP→HTTPS, apex→www, 로케일 리디렉션)을 수행합니다. 이 도구는 첫 번째 홉부터 최종 응답까지 캐싱 정책이 일관되게 유지되도록 보장하는 데 도움을 줍니다.
- 각 홉 및 최종 URL의 헤더 확인
- 엣지 규칙 또는 오리진 재작성으로 인한 캐시 헤더 변경 포착
❓ Frequently Asked Questions
❓이 도구는 캐싱을 위해 어떤 헤더를 분석하나요?
❓브라우저와 CDN 간에 다른 캐싱 결과가 표시되는 이유는 무엇인가요?
❓ETag와 Last-Modified는 무엇에 사용되나요?
❓HTML 페이지를 오랫동안 캐싱해야 하나요?
❓Vary란 무엇이며 왜 중요한가요?
❓여기에 URL을 붙여넣어도 안전한가요?
❓분석 결과를 내보낼 수 있나요?
JSON 보고서와 PDF 보고서를 내보내는 기능을 지원하므로 결과를 공유하거나 성능 감사에 첨부할 수 있습니다.Pro Tips
자산에 지문(파일명 해시)이 적용된 경우, 긴 max-age + immutable을 사용하여 재방문 성능을 최적화하세요.
HTML이 개인화(쿠키/인증)된 경우, 캐시 키와 Vary 동작을 완전히 제어하지 않는 한 공유 캐시에 저장하지 마세요.
캐시 가능한 리소스에는 검증자(ETag 또는 Last-Modified)를 사용하여 클라이언트가 재다운로드 대신 304로 재검증할 수 있도록 하세요.
no-store와 긴 max-age 같은 충돌하는 지시문을 주의하세요. 이는 일반적으로 잘못된 구성의 징후입니다.
리디렉션 디버깅 시 각 단계의 캐시 헤더를 비교하세요. 엣지 규칙이 리디렉션과 최종 URL 간의 캐싱을 변경할 수 있습니다.
JSON 보고서를 내보내고 CI/성능 감사 아티팩트에 보관하여 시간 경과에 따른 성능 저하를 추적하세요.
Additional Resources
Other Tools
- CSS 정리 도구
- HTML 정리 도구
- 자바스크립트 정리 도구
- PHP 정리 도구
- 색상 선택기
- 스프라이트 추출기
- Base32 이진 인코더
- Base32 디코더
- Base32 인코더
- Base58 이진 인코더
- Base58 디코더
- Base58 인코더
- Base62 이진 인코더
- Base62 디코더
- Base62 인코더
- Base64 이진 인코더
- Base64 디코더
- Base64 인코더
- 16진수 이진 인코더
- 16진수 디코더
- 16진수 인코더
- C# 포맷터
- CSV 포맷터
- Dockerfile Formatter
- Elm 포맷터
- ENV 포맷터
- Go 포맷터
- GraphQL 포맷터
- HCL 포맷터
- INI 포맷터
- JSON 포맷터
- LaTeX 포맷터
- 마크다운 포맷터
- Objective-C 포맷터
- Php Formatter
- 프로토콜 버퍼 포맷터
- Python 포맷터
- Ruby 포맷터
- Rust 포맷터
- Scala 포맷터
- 셸 스크립트 포맷터
- SQL 포맷터
- SVG 포맷터
- Swift 포맷터
- TOML 포맷터
- Typescript Formatter
- XML 포맷터
- YAML 포맷터
- Yarn 포맷터
- CSS 압축기
- Html Minifier
- Javascript Minifier
- JSON 압축기
- XML 최소화 도구
- Cors Checker
- Csp Analyzer
- Dns Records Lookup
- HTTP 헤더 뷰어
- Http Status Checker
- Open Graph Meta Checker
- Redirect Chain Viewer
- Robots Txt Tester
- Security Headers Checker
- Security Txt Checker
- Sitemap Url Inspector
- Tls Certificate Checker
- PDF 텍스트 변환
- 정규식 테스터
- 검색 순위 확인기
- Whois 조회