MTA-STS 정책 캐싱은 일반적인 브라우저 캐싱이 아닙니다. 정책의 max_age는 마지막으로 성공한 가져오기 이후의 수명을 관리합니다. 검색 TXT 에는 자체 DNS TTL이 있습니다. 이러한 시계는 상당히 다를 수 있으며 두 발신자가 동시에 서로 다른 정책 버전을 적용하는 이유를 설명합니다.
발신자가 여전히 보유할 수 있는 정책을 기록합니다.
참고자료: RFC 8461 §3.2, RFC 8461 §3.3.
게시된 각 정책 본문, 검색 ID, 게시 시간 및 max_age를 유지합니다. 현재 엔드포인트 스크린샷으로는 발신자가 어제 무엇을 가져왔는지 알 수 없습니다. 사고가 발생하는 동안 최신 본문이 보편적이라고 가정하는 대신 적용된 정책을 요청하고 발신자 로그에서 시간을 가져옵니다.
RFC 8461 에서는 발신자가 최대 max_age까지 정책을 캐시해야 하며 만료되기 전에 사전에 새로 고쳐야 하며 매일 새로 고칠 것을 제안합니다. 이러한 권장 사항은 동기화된 업데이트를 보장하지 않습니다. 구현에서는 서로 다른 시간에 업데이트를 확인할 수 있으며 발신자는 실시간 검색 또는 가져오기가 실패할 때 유효한 캐시된 정책을 계속 적용할 수 있습니다.
두 가지 만료 계산을 분리합니다.
참고자료: RFC 8461 §3.2, RFC 8461 §5.1.
레이블이 지정된 산술 픽스처에서 max_age 86400을 사용하여 에포크 시간 1000000에 가져온 정책의 만료 경계는 1086400입니다. DNS TTL 300은 해당 계산을 변경하지 않습니다. 운영자가 max_age 3600으로 새 본문을 게시하는 경우 이미 캐시된 이전 본문은 소급하여 새 수명을 획득하지 않습니다.
새로운 경계 오프라인 설비가 해당 경계를 계산합니다. 보유된 과거 전송 연구소 기록에는 이전 캐시의 전체 복사본, 수명이 짧은 정책 가져오기, 이전 스냅샷과 해당 만료가 명시적인 교체까지 변경되지 않은 상태로 유지된다는 주장이 추가로 문서화되어 있습니다. 캐시 부분은 실제가 아닌 명시적 상태/산술 모델입니다. MTA, DNS 캐시 또는 새로 고침 스케줄러; 별도로 유지되는 루프백 DNS /HTTPS 교환은 해당 캐시 요청을 확장하지 않습니다. 테스트를 확장하려면 검사 가능한 정책 캐시로 제어된 발신자를 구성하고 실제 가져오기, 새로 고침 및 전송 로그를 보존하세요.
안전한 순서로 업데이트하세요
참고자료: RFC 8461 §8.1, RFC 8461 §8.2.
새 HTTPS 본문을 게시하고 확인한 후 DNS ID를 변경하세요. RFC 8461 두 엔드포인트가 모두 업데이트되고 TXT TTL이 통과하는 동안 이전 정책을 전송과 호환되도록 유지할 것을 권장합니다. 계획된 라우팅 변경의 경우 발신자가 수명이 끝나거나 새로 고침이 성공할 때까지 이전 정책을 유지하는 것도 허용합니다.
프로토콜 정책 캐싱을 CDN의 원본 캐시와 다르게 유지하세요. 발신자는 정책 검색을 위해 HTTP 캐싱을 사용해서는 안 됩니다. 그럼에도 불구하고 RFC 8461 §8.2는 원본 측 역방향 프록시 캐싱을 허용합니다. 모든 프록시 캐시를 금지된 것으로 취급하는 대신 최신성과 게시 동작을 확인하세요. 공개 엔드포인트에서 실제 본문을 확인하고 호스팅 게시 워크플로가 의도한 개정을 노출하는지 확인하세요.
추측하지 않고 지연된 변경 진단
참고자료: RFC 8461 §3.3.
DNS 응답, HTTPS 응답 바이트, 캐시된 정책 메타데이터 및 발신자의 실패 로그를 비교하세요. 오래된 본문을 가진 새 ID는 출판 주문 또는 신선도 문제 발생을 암시합니다. 재귀 응답의 이전 ID는 DNS 캐시 상태를 반영할 수 있습니다. 가져오기 중단 중에 오래되었지만 유효한 캐시 정책은 프로토콜 동작으로 예상할 수 있습니다.
모든 지연을 전파로 선언하지 마십시오. 이전 상태를 유지하는 캐시 또는 종속성을 식별하고, 해당 구성 요소를 복구하고, 전환 전반에 걸쳐 규정을 준수하는 수신 경로를 유지합니다. 이 기사에서는 실시간 발신자 캐시 실험이 실행되지 않았습니다.
보유된 역사적 증거와 남은 범위
다음은 이 검토를 위해 재실행된 네트워크 실험이 아닌 보존된 2026년 11월 7일 관찰에 대해 설명합니다. 새로 실행된 오프라인 검사는 별도로 기록됩니다.
캡처된 논리적 캐시 고정 장치는 만료 1086400과 함께 1000000에서 가져온 A1을 보존합니다. 랩에서는 B2를 게시하고 실제 UDP DNS 응답을 통해 B2를 알리고 max_age 3600으로 HTTPS를 통해 B2를 가져옵니다. 그런 다음 심층 복사된 A1 스냅샷이 여전히 원래 콘텐츠와 동일하고 만료 1086400을 유지한다고 주장합니다. 별도의 마지막 제공 원장이 가능한 최대값을 계산합니다. A1은 1000300 + 86400 = 1086700으로 만료되고, B2는 1000600 + 3600 = 1004200으로 만료되고 C3은 1000900 + 3600 = 1004500으로 만료됩니다. 만료 값은 명시적 논리 시간을 사용하여 계산됩니다. 캐시 보존 비교는 실행된 어설션입니다. MTA 새로 고침 스케줄러도 에뮬레이션되지 않습니다. 새로 고침, 재시도 또는 상태 유지에 대한 실제 발신자의 선택은 구현 테스트로 남아 있습니다.