DNS 프리페칭이라고도 알려진 프리페칭은 사용자가 실제로 링크를 클릭하거나 사이트를 요청하기 전에 웹사이트의 도메인 이름을 해당 IP 주소로 확인하는 웹 성능 최적화 기술입니다. 이러한 사전 해결은 사용자의 행동을 예상하여 수행되며 DNS(도메인 이름 시스템) 확인과 관련된 대기 시간을 줄이는 것이 목표입니다.
DNS 확인은 "example.com"과 같은 사람이 읽을 수 있는 도메인 이름을 "192.0.2.1"과 같은 기계가 읽을 수 있는 IP 주소로 변환하는 프로세스입니다. 이 변환은 브라우저가 웹사이트를 호스팅하는 서버에 연결하는 데 필요합니다. 그러나 DNS 확인은 브라우저가 웹사이트에 연결을 시작하기 전에 IP 주소를 얻기 위해 DNS 서버를 쿼리해야 하므로 지연이 발생할 수 있습니다. 이 지연은 특히 DNS 서버의 응답이 느리거나 여러 DNS 조회가 필요한 경우 사이트의 페이지 로드 시간에 몇 초가 추가될 수 있습니다.
DNS 정보를 미리 페치함으로써 브라우저는 사용자가 현재 페이지를 보는 동안 DNS 확인을 미리 수행할 수 있습니다. 즉, 사용자가 링크를 클릭하거나 새 요청을 시작하면 브라우저는 이미 사용 가능한 IP 주소를 가지고 있어 실시간 DNS 조회가 필요 없고 새 페이지를 로드하는 데 걸리는 전체 시간이 줄어듭니다.
프리페칭은 브라우저가 특정 도메인 이름을 미리 확인하도록 지시하는 HTML 태그나 HTTP 헤더를 사용하여 웹사이트 개발자가 구현할 수 있습니다. 브라우저는 또한 사용자가 클릭할 가능성이 높은 링크를 예측하는 휴리스틱을 기반으로 뷰포트에 표시되는 링크에 대한 DNS 정보를 자동으로 프리페칭할 수 있습니다.
사전 페칭은 대기 시간을 줄여 성능을 개선할 수 있지만, 추가 네트워크 리소스를 소모하고 사용자가 궁극적으로 방문하지 않을 수 있는 도메인을 확인하여 개인 정보에 영향을 미칠 수 있는 잠재적인 단점도 있습니다. 따라서 웹사이트와 사용자의 특정 요구 사항과 상황을 고려하여 신중하게 사용해야 합니다.