> [!date] published: 2025-04-02
# DNS 캐싱
DNS 캐싱은 운영체제, 브라우저, 디바이스, 네트워크 안에 DNS 레코드를 일시적으로 저장하는 것이다.
캐싱된 DNS 레코드에는 TTL(Time To Live)이 있다. TTL 동안은 같은 도메인에 대한 질의가 들어왔을 때 저장해둔 응답을 재사용할 수 있다.
## DNS 캐싱 흐름
사용자가 브라우저에 URL을 입력하면, 브라우저는 DNS 리커시브 서버로 DNS 요청을 보낸다.
리커시브 서버는 해당 도메인에 대한 내용이 캐싱되어 있으면 그 내용을 바로 응답한다. 캐싱된 내용이 없다면 다른 DNS 서버에 질의한다.
결국 요청이 다다르는 곳은 권한 DNS 서버다. 권한 DNS 서버에는 해당 도메인 이름에 대한 원본 DNS 레코드가 있다. 하나의 DNS 서버가 관리하는 도메인 영역을 Zone이라고 한다.
응답받은 데이터는 TTL 동안 거쳐 왔던 리커시브 서버와 로컬 환경에 캐싱된다.
## DNS를 여러 계층에서 캐싱하는 이유
같은 도메인 이름에 대한 요청은 반복해서 발생한다. 따라서 요청 경로에 있는 여러 계층이 DNS 응답을 캐싱하면 같은 질의를 매번 권한 DNS 서버까지 보내지 않아도 된다.
DNS 캐싱의 장점은 응답 속도가 빨라지고, 불필요한 네트워크 요청이 줄어든다는 점이다.
## 관련 문서
- [[DNS]]
## 참고
- [DNS 캐싱이란 무엇일까요? \| DNS 캐싱은 어떻게 작동하나요? \| Akamai](https://www.akamai.com/ko/glossary/what-is-dns-caching)
- [\[AWS\] DNS 서버 종류 (Authoritative DNS 와 Caching DNS) 권한 서버와 캐싱 서버 — 아주 쉽게 정리한 블로그](https://jibinary.tistory.com/423?category=1180496)