Safari는 다른 모든 브라우저와 함께 이제 DNS 프리페치를 포함합니다. 이 기능은 웹 페이지에 포함된 모든 링크를 보고 DNS 서버에 쿼리하여 각 링크를 실제 링크로 확인함으로써 웹 서핑을 보다 빠르게 경험하도록 설계된 기능입니다. IP 주소.
DNS 프리페치가 제대로 작동하면 웹사이트에서 링크를 선택할 때 브라우저가 이미 IP 주소를 알고 있고 요청된 페이지를 로드할 준비가 된 것입니다. 이는 페이지에서 페이지로 이동할 때 매우 빠른 응답 시간을 의미합니다.
어떻게 이것이 나쁜 일이 될 수 있습니까? 특정 조건에서만 DNS 프리페칭이 몇 가지 흥미로운 단점을 가질 수 있다는 것이 밝혀졌습니다. 이제 대부분의 브라우저에 DNS 프리페치가 있지만 Mac용 최고의 브라우저인 Safari에 집중하겠습니다.
Safari가 웹 사이트를 로드할 때 때때로 페이지가 렌더링되고 콘텐츠를 읽을 준비가 된 것처럼 보입니다. 그러나 페이지를 위아래로 스크롤하거나 마우스 포인터를 이동하려고 하면 회전하는 커서가 나타납니다. 브라우저 새로 고침 아이콘도 여전히 회전하고 있음을 알 수 있습니다. 이 모든 것은 페이지가 성공적으로 렌더링되는 동안 브라우저가 사용자의 요구에 응답하지 못하도록 방해하는 요소가 있음을 나타냅니다.
여러 가지 가능한 범인이 있습니다. 페이지에 오류가 있거나 사이트 서버가 느리거나 타사 광고 서비스와 같은 페이지의 오프사이트 부분이 다운되었을 수 있습니다. 이러한 유형의 문제는 일반적으로 일시적이며 몇 분에서 며칠까지 짧은 시간 안에 사라질 것입니다.
DNS 프리페칭 문제는 약간 다르게 작동합니다. 일반적으로 Safari 브라우저 세션에서 처음 방문할 때마다 동일한 웹 사이트에 영향을 줍니다. 이른 아침에 사이트를 방문하면 응답 속도가 매우 느리다는 것을 알 수 있습니다. 한 시간 후에 다시 오면 모든 것이 잘 됩니다. 다음날도 똑같은 패턴이 반복된다. 첫 번째 방문은 느리고, 정말 느립니다. 그날 이후의 방문은 괜찮습니다.
DNS 프리페칭에 무슨 일이?
위의 예에서 아침에 가장 먼저 웹 사이트에 갈 때 Safari는 페이지에 표시되는 모든 링크에 대해 DNS 쿼리를 보낼 기회를 얻습니다. 로드하는 페이지에 따라 쿼리가 몇 개일 수도 있고 수천 개일 수도 있습니다. 특히 사용자 의견이 많은 웹사이트이거나 특정 유형의 포럼을 방문하는 경우에는 더욱 그렇습니다.
문제는 Safari가 수많은 DNS 쿼리를 보내는 것이 아니라 일부 구형 홈 네트워크 라우터가 요청 로드를 처리할 수 없거나 ISP의 DNS 시스템이 요청 또는 이 둘의 조합에 대해 크기가 작다는 것입니다.피>
DNS 프리페칭 성능 문제를 해결하는 두 가지 쉬운 방법이 있습니다. 두 가지 방법을 모두 안내해 드리겠습니다.
DNS 서비스 제공업체 변경
첫 번째 방법은 DNS 서비스 공급자를 변경하는 것입니다. 많은 사람들이 ISP에서 사용하도록 지시하는 DNS 설정을 사용하지만 일반적으로 원하는 DNS 서비스 공급자를 사용할 수 있습니다. 우리의 경험에 따르면 우리 지역 ISP의 DNS 서비스는 매우 나쁩니다. 서비스 제공자를 변경하는 것은 우리 입장에서 좋은 조치였습니다. 당신에게도 좋은 선택이 될 것입니다.
온라인 가이드의 지침을 사용하여 현재 DNS 공급자를 테스트할 수 있습니다.
DNS 서비스를 확인한 후 다른 서비스로 변경하기로 결정했다면 분명한 질문은 무엇입니까? 인기 있고 무료인 두 DNS 서비스 제공업체인 OpenDNS 또는 Google Public DNS를 사용해 볼 수 있지만 약간의 조정을 하는 데 신경 쓰지 않는다면 가이드를 사용하여 다양한 DNS 서비스 제공업체를 테스트하여 어떤 서비스 제공업체가 가장 적합한지 확인할 수 있습니다.
사용할 DNS 제공업체를 선택했으면 Mac의 DNS 설정을 변경할 수 있습니다.
다른 DNS 공급자로 변경했으면 Safari를 종료하십시오. Safari를 다시 실행한 다음 반복되는 문제를 일으킨 웹사이트를 시도하십시오.
지금 사이트가 정상적으로 로드되고 있고 Safari가 계속 응답하면 모든 설정이 완료된 것입니다. 문제는 DNS 공급자에 있었습니다. 확실히 하려면 Mac을 종료하고 재시동한 후 동일한 웹 사이트를 다시 로드해 보십시오. 모든 것이 여전히 작동하면 완료된 것입니다.
그렇지 않은 경우 문제는 다른 곳에 있을 수 있습니다. 특히 위에서 제안한 DNS 공급자 중 하나로 변경한 경우 이전 DNS 설정으로 되돌리거나 새 설정을 그대로 둘 수 있습니다. 둘 다 매우 잘 작동합니다.
Safari의 DNS 프리페치 비활성화
여전히 문제가 있는 경우 해당 웹사이트를 다시 방문하지 않거나 DNS 프리페치를 비활성화하여 문제를 해결할 수 있습니다.
Safari에서 DNS 프리페칭이 기본 설정이었다면 좋았을 것입니다. 사이트별로 프리페치를 비활성화할 수 있다면 더 좋을 것입니다. 그러나 이러한 옵션 중 어느 것도 현재 사용할 수 없으므로 이 기능을 비활성화하려면 다른 접근 방식을 사용해야 합니다.
-
/Applications/Utilities에 있는 터미널 실행 .
-
열리는 터미널 창에서 다음 명령을 입력하거나 복사/붙여넣기:
기본값은 com.apple.safari WebKitDNSPrefetchingEnabled -boolean false를 작성합니다.
-
Enter 키를 누릅니다. 또는 반환 .
-
그런 다음 터미널을 종료할 수 있습니다. .
Safari를 종료했다가 다시 시작합니다. , 문제를 일으킨 웹 사이트를 다시 방문하십시오. 이제 제대로 작동해야 합니다. 문제는 가정 네트워크의 오래된 라우터였을 가능성이 큽니다. 언젠가 라우터를 교체하거나 라우터 제조업체에서 문제를 해결하는 펌웨어 업그레이드를 제공하는 경우 DNS 프리페치를 다시 켜고 싶을 것입니다. 방법은 다음과 같습니다.
-
터미널 실행 .
-
터미널 창에서 다음 명령을 입력합니다.
기본값은 com.apple.safari WebKitDNSPrefetchingEnabled를 작성합니다.
-
Enter 키를 누릅니다. 또는 반환 .
-
그런 다음 터미널을 종료할 수 있습니다. .
그게 다야; 당신은 모든 설정해야합니다. 장기적으로 보면 일반적으로 DNS 프리페치를 활성화하는 것이 좋습니다. 하지만 문제가 있는 웹사이트를 자주 방문하는 경우 DNS 프리페칭을 끄면 일상적인 방문이 더욱 즐거워질 수 있습니다.