목차
한 서버에 호스팅을 해놓았는데 서버를 변경하게 되는 경우가 생겼다.
그 이후 해당 도메인으로 접속을 했는데 접속이 되지 않았다.
특이한건 ip로 접속하니 정상적으로 접속이 되고 있었다.
구성은 같은데 접속이 되지 않는게 이상해서 다른 pc로 접속하니 정상적으로 접속이 되었다.
추후 확인해보니 os 에서 dns 캐시 때문에 접속이 되지 않았던 것이다.
DNS 캐시란?
DNS(Domain Name System) 캐시는 DNS 조회의 결과를 저장하는 일종의 임시 메모리입니다. 이는 웹 브라우저나 운영 체제, 애플리케이션 등에서 DNS 조회를 수행할 때 발생합니다.
웹 브라우저나 다른 네트워크 애플리케이션은 DNS 서버에 도메인 이름을 IP 주소로 변환하라는 요청을 하고, DNS 서버는 해당 도메인 이름에 대한 IP 주소를 반환합니다. 이렇게 얻은 IP 주소는 DNS 캐시에 일정 기간 동안 저장됩니다. 이후 동일한 도메인에 대한 추가 조회가 있을 때, 캐시된 결과가 반환됩니다. 이것은 사용자의 경험을 향상시키고 네트워크 트래픽을 줄이는 데 도움이 됩니다.
DNS 캐시는 각각의 시스템에서 관리되며, 일반적으로 TTL(Time-To-Live) 값에 따라 각 DNS 레코드의 유효 기간을 결정합니다. DNS 레코드에 설정된 TTL 값에 따라 캐시된 정보는 일정 시간이 지나면 만료되고, 새로운 조회를 위해 다시 DNS 서버에 요청됩니다.
웹 브라우저의 경우, DNS 캐시 뿐만 아니라 캐시된 웹 페이지, 이미지 및 자원도 존재할 수 있으며, 강력한 새로 고침(강제 새로 고침)을 통해 브라우저의 캐시가 지워지고 새로운 데이터를 불러오게 됩니다.
DNS 캐시 삭제
macOS에서 DNS 캐시 삭제하기
- 터미널 열기: Spotlight 또는 Launchpad를 사용하여 "Terminal" 또는 "터미널"을 검색합니다.
- DNS 캐시 삭제: 다음 명령을 입력하여 macOS의 DNS 캐시를 삭제합니다.
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
Windows에서 DNS 캐시 삭제하기
- Command Prompt 열기: 시작 메뉴에서 "cmd"를 검색하고 Command Prompt를 엽니다.
- DNS Resolver Cache 비우기: 다음 명령을 입력하여 Windows의 DNS 캐시를 비웁니다.
ipconfig /flushdns
DNS 캐시 확인
macOS에서 DNS 캐시 확인하기
- 터미널 열기: Spotlight 또는 Launchpad를 사용하여 "Terminal" 또는 "터미널"을 검색합니다.
- DNS 캐시 확인: dscacheutil -cachedump 명령을 사용합니다.
sudo dscacheutil -cachedump
Windows에서 DNS 캐시 확인하기
- Command Prompt 열기: 시작 메뉴에서 "cmd"를 검색하고 Command Prompt를 엽니다.
- DNS Resolver Cache 확인: 다음 명령을 입력하여 DNS 캐시를 확인합니다.
ipconfig /displaydns
macOS와 Windows에서 명령어를 통해 DNS 캐시를 확인할 수 있습니다. 이 명령은 캐시된 DNS 레코드를 보여줍니다. DNS 레코드가 실제로 캐시되어 있는지 확인할 수 있습니다. DNS 캐시 데이터는 일반적으로 TTL 값이 만료되기 전까지 보관됩니다.
DNS 캐시 TTL 확인
DNS 캐시가 얼마나 남아 있는지 궁금하다면 아래 사이트에서 검색하시면 됩니다.
네이버의 경우 TTL 이 5min 이므로 5분간 캐시된다고 볼 수 있습니다.
끝!
'용어 및 개념' 카테고리의 다른 글
운영체제(os)와 커널(kernel)의 차이 (0) | 2024.01.15 |
---|---|
SPOF(단일장애지점)이란 (0) | 2023.10.19 |
메타버스란? (metaverse) (0) | 2023.01.05 |
컴포넌트 VS 모듈화 (0) | 2022.08.22 |
javascript는 왜 싱글스레드일까? (0) | 2022.06.29 |
댓글