클라우드플레어는 웹사이트의 성능과 보안을 향상시키기 위해 다양한 기능을 제공합니다. 이 글에서는 캐싱과 속도 최적화 두 가지 주요 기능을 중심으로 클라우드플레어의 활용법을 설명합니다.
클라우드플레어의 캐싱 원리
Caching 상태 분석
웹사이트의 캐싱 상태를 확인하기 위해 클라우드플레어의 Analytics 메뉴를 활용할 수 있습니다. 이 메뉴에서는 캐시된 요청과 캐시되지 않은 요청을 차트로 확인할 수 있어, 웹사이트의 트래픽 상태를 쉽게 파악할 수 있습니다.
네트워크 창에서 헤더 분석하기
브라우저의 네트워크 탭에서 CSS 파일을 필터링하면 캐싱 상태를 확인할 수 있습니다. 캐싱이 성공적으로 이루어졌다면, “Size” 항목에 메모리 캐시 또는 디스크 캐시로 표시되며, “Time”은 0으로 나타납니다. 이는 파일의 TTFB(Time To First Byte)가 줄어들어 SEO 향상에 기여함을 의미합니다.
클라우드플레어 캐시 규칙
캐시 규칙 이해하기
클라우드플레어의 캐시 규칙은 다음과 같습니다:
1. Cache-Control 헤더가 “no-cache”, “private”, “max-age=0” 중 하나로 설정된 경우 캐시하지 않습니다.
2. 반대로 Cache-Control 헤더가 “public”이고 “max-age”가 0보다 큰 경우, 혹은 Expires 속성이 미래 날짜로 설정된 경우 캐시합니다.
3. 두 헤더가 모두 설정되어 있다면, max-age가 우선 적용됩니다.
캐시할 파일 형식
클라우드플레어는 특정 확장자의 파일만 캐시합니다. 예를 들어, JPEG, PNG, CSS, JS 파일 등이 이에 해당하며, robots.txt 파일 또한 캐시됩니다.
캐시 삭제 및 TTL 설정
캐시 삭제하기
가끔 파일 변경이 있을 때 이전 캐시 파일을 계속 사용하는 경우가 발생할 수 있습니다. 이럴 때는 클라우드플레어의 캐시 플러시 기능을 통해 특정 파일을 삭제할 수 있습니다. 사용자 지정 제거를 통해 특정 URL의 캐시를 삭제하는 것이 안전합니다.
브라우저 캐시 TTL 설정
TTL(Time To Live)은 캐시 파일이 저장되는 시간을 의미합니다. 클라우드플레어에서는 최소 30분에서 최대 1년까지 TTL을 설정할 수 있으며, ‘기존 헤더 유지’ 옵션을 선택하면 서버에서 설정한 헤더에 따라 자동으로 조정됩니다. 변동이 적은 콘텐츠는 길게, 자주 변경되는 리소스는 짧게 설정하는 것이 좋습니다.
특정 리소스 캐시 제외하기
특정 파일을 캐시에서 제외하고 싶을 때는 클라우드플레어의 규칙 메뉴에서 “Page Rule 생성”을 통해 해당 리소스의 경로를 입력하고 캐시 수준을 “바이패스”로 설정할 수 있습니다. 이 경우 network 탭에서 cache-control이 “no-cache”로 설정되며, cf-cache-status는 “DYNAMIC”으로 표시됩니다.
자주 묻는 질문
질문1: 클라우드플레어의 캐싱 설정은 어떻게 하나요?
캐싱 설정은 클라우드플레어 대시보드에서 Cache 메뉴를 통해 조정할 수 있으며, 캐시 규칙을 통해 세부 설정이 가능합니다.
질문2: 캐시 TTL을 어떻게 설정하나요?
TTL은 클라우드플레어의 캐시 메뉴에서 설정할 수 있으며, 최소 30분에서 최대 1년까지 선택할 수 있습니다.
질문3: 특정 파일의 캐시를 삭제하려면 어떻게 하나요?
특정 파일의 캐시를 삭제하려면 캐시 탭에서 사용자 지정 제거를 선택하고 해당 파일의 URL을 입력하면 됩니다.
질문4: 캐싱이 웹사이트 속도에 미치는 영향은?
캐싱은 웹사이트의 로딩 속도를 크게 향상시키며, 사용자 경험을 개선하고 SEO에 긍정적인 영향을 미칩니다.
질문5: 캐시를 어떻게 확인하나요?
캐시 상태는 브라우저의 개발자 도구에서 네트워크 탭을 통해 확인할 수 있으며, 각 요청의 응답 헤더를 분석하여 캐시 상태를 파악할 수 있습니다.