참고 자료 · 63
HTTP 캐싱: 개인화된 응답 보호
공유 캐시, 개인 캐시 및 애플리케이션 캐시를 분리하고, 키, 재검증 및 액세스 권한 변경 후 무효화를 검사합니다.
업데이트됨 · 3 min
이 가이드가 달성하는 목표
- 계층 목록 작성
- 보존 기간 선택
- 키 검사
- 재검증 및 변경 실행
빠른 확인
- 캐시 없음은 아무것도 보존되지 않는다는 의미인가요?
- Vary는 접근 권한을 보호하나요?
- 모든 API를 캐시해야 하나요?
단계별 방법
- 1
계층 목록 작성
브라우저, CDN, 프록시, 서비스 워커 및 애플리케이션 캐시 목록 작성. 공개 응답과 개인화된 응답 분류. HTTP 정책은 코드로 구현된 캐싱을 자동으로 설명하지 않습니다.
결과물: 계층 및 소유자 다이어그램
- 2
보존 기간 선택
RFC 9111은 지시문을 구분합니다. no-cache는 재사용 전 유효성 검사를 요구하고, no-store는 관련 HTTP 저장소를 금지하며, unqualified private는 공유 저장소를 제외합니다. 어느 하나만으로는 시스템 기밀성을 보장할 수 없습니다.
산출물: 응답별 보존 정책.
- 3
키 검사
표현 변경 시 메서드, URI 및 차원을 확인합니다. 변경 사항은 요청 필드와 관련이 있으며 권한 부여와는 무관합니다. 애플리케이션 계층에서 누락된 언어, 형식 협상 및 계정 컨텍스트를 확인합니다.
산출물: 키 및 분리 테스트.
- 4
재검증 및 변경 실행
최신 및 오래된 응답, 데이터 업데이트 및 권한 취소 테스트를 수행합니다. ETag, 조건부 유효성 검사 및 출처를 사용할 수 없는 동작을 검사합니다. 이전에 올바랐던 응답도 권한 취소 후에는 민감한 정보가 될 수 있습니다.
결과물: 전후 추적 데이터
- 5
두 개의 계정을 사용한 재현 테스트
가상의 신원 및 마커 사용. 웜 캐시와 콜드 캐시를 사용하여 동일한 URI에 대한 요청을 번갈아 수행. 실제 토큰을 기록하지 않고 로그아웃, 직접 링크 및 로깅 기능 확인.
결과물: 네거티브 테스트 및 무효화 전략. 결과물: 두 계정으로 재현 테스트 수행.
재사용 가능한 워크시트
승인된 의견을 기입하십시오. 이 항목들은 작업 템플릿이며, 관찰된 결과가 아닙니다.
| 필드 | 기록할 정보 |
|---|---|
| 대응 | 공개 또는 개인화; 차원 |
| 계층 | 캐시, 소유자 및 키 |
| 정책 | 보존, 최신성 및 유효성 검사 |
| 시험 | 가상 계정, 변경 및 관찰 |
가상 예시
예시 상황
가상 예: CDN이 두 개의 테스트 계정에 대해 동일한 URI에서 프로필 응답을 재사용합니다.
결정 및 예상 증거
이 시나리오는 정보 유출을 감지하고 정책 및 키를 검사한 다음 수정 및 액세스 취소 후 다시 실행합니다.
메커니즘 구분
| 메커니즘 | 목적 | 검증 또는 제한 |
|---|---|---|
| 캐시 없음 | 필수 유효성 검사를 통한 저장 허용 | 저장 안 함으로 해석하지 마십시오 |
| 자격 미달 개인 정보 | 공유 캐싱 제외 | 기밀성 보장으로 해석하지 마십시오 |
| 저장 안 함 | 관련 HTTP 저장 방지 | 애플리케이션 캐시 및 기록 별도 확인 |
관리 지표
| 지표 | 측정 대상 | 첫 번째 조치 |
|---|---|---|
| 계정 분리 | 다른 계정의 마커 없음 | 본문, 링크 및 메타데이터 검사 |
| 기간 및 유효성 검사 | 정책에 따른 재사용 | 만료 및 사용 불가능한 출처 테스트 |
| 무효화 지연 | 수정된 표현까지의 시간 | 아직 유효하지 않은 각 계층 이름 지정 |
일반적인 실수
- 저장 안 함으로 해석하지 마십시오
- 기밀성 보장으로 해석하지 마십시오
- 애플리케이션 캐시 및 기록 별도 확인
자주 묻는 질문
캐시 없음은 아무것도 보존되지 않는다는 의미인가요?
아니요. 재사용 전에 유효성 검사가 필요하며, 저장 안 함처럼 저장을 금지하지 않습니다.
Vary는 접근 권한을 보호하나요?
아니요. 표현 선택에 참여합니다. 권한 부여는 별도로 유지됩니다.
모든 API를 캐시해야 하나요?
아니요. 이점은 비용, 최신성 및 위험에 따라 다릅니다. 민감한 응답의 경우 공유 캐시를 사용하지 않는 것이 타당할 수 있습니다.
공식 참조
참조는 방법을 뒷받침합니다. 상황에 맞게 검사를 조정하십시오. 이는 인증이 아닙니다. 원본 참조 제목 및 소스 문서는 다른 언어로 작성되었을 수 있습니다.
참고 자료 확인일 .






