Query String Caching Rules

최신 업데이트:2026-04-28 11:21:37

사용자가 웹사이트에서 콘텐츠를 요청할 때, 원하는 로직을 구현하기 위해 URL의 물음표 뒤에 특수 파라미터를 포함할 수 있습니다(예: http://domain/1.jpg?version=1). 기본적으로 CDNetworks CDN 플랫폼은 CDN 서버에서 전체 URL 요청을 캐시합니다. 즉, 쿼리 문자열의 파라미터 값이 다르면 콘텐츠의 캐시 복사본이 여러 개 생성됩니다. 사용자가 요청한 URL이 CDN 서버의 캐시에 적중하려면 캐시된 URL과 완전히 일치해야 합니다.

쿼리 문자열에 파라미터가 많으면 CDN 서버의 캐시 파일 수가 증가하여 캐시 적중률이 감소할 수 있습니다. 이는 원본 서버로의 요청 증가로 이어져 사용자 요청에 대한 응답 지연을 증가시키고, 궁극적으로 사용자 경험과 원본 서버의 부하 및 운영 비용에 영향을 미칠 수 있습니다.

웹사이트 콘텐츠를 요청하는 사용자가 물음표 앞의 경로는 동일하지만 물음표 뒤의 파라미터가 다른 URL을 사용하고, 웹사이트가 동일한 파일을 사용자에게 반환하는 경우, 캐싱 목적을 위해 물음표 뒤의 파라미터를 무시하도록 CDN 플랫폼을 구성하는 것이 좋습니다. 이를 통해 CDN 서버의 캐시 적중률이 향상되어 더 나은 사용자 경험을 보장하고 원본 서버의 부하와 비용을 줄일 수 있습니다.

Query String Caching Rules 구성 방법

  1. CDNetworks Console 에 로그인하고 해당 제품을 선택합니다.
  2. Configuration 으로 이동하여 구성하려는 도메인을 찾은 다음, 상단의 Edit Configuration 또는 도메인 오른쪽의 Edit 버튼 云安全产品维护公告을 클릭합니다.
  3. 구성 수정 페이지로 들어가 Cache Optimization 아래의 Query String 을 찾은 다음 Add 버튼을 클릭합니다.
  4. 규칙 편집 페이지에서 필요에 따라 다음 구성 옵션을 쉽게 추가할 수 있습니다.

Apply to
CDNetworks CDN 플랫폼은 규칙의 적용 범위에 대해 다음 옵션을 제공하며, 규칙이 적용될 요청을 지정할 수 있습니다.

파라미터 설명
All Requests 관련 도메인으로 시작된 모든 요청이 이 규칙에 적용됨을 나타냅니다.
Specific File Type 이 규칙은 지정된 파일 유형에 대한 요청에 적용됩니다. 나열된 항목에서 선택하거나 이 필드에서 파일 유형을 사용자 정의할 수 있습니다. 여러 파일 유형은 ;로 구분합니다(예: ace;aac).
Specific URL Path 이 규칙에 대한 특정 URI를 설정할 수 있습니다. 규칙당 하나의 지정된 URI만 구성할 수 있습니다.
입력하는 URI에는 http:// 또는 https://가 포함되지 않으며 URI 부분만 구성해야 합니다. 예를 들어, 전체 URL이 https://domain/browse/index.html인 경우 /browse/index.html만 구성해야 하며, 특히 쿼리 문자열을 포함할 수 없습니다.
Specific Directory 이 규칙은 지정된 디렉터리를 대상으로 하는 모든 요청에 적용됩니다. 디렉터리는 /로 시작하고 /로 끝나야 하며, 문자, 숫자 및 특정 특수 기호(밑줄, 하이픈, 백분율 기호 및 점 포함)의 모든 조합으로 구성될 수 있습니다. 예: /file/1%1/은 규칙이 디렉터리 http://domain/file/1%1/ 및 그 안의 모든 파일에 대한 요청에 적용됨을 나타냅니다.
여러 디렉터리는 줄 바꿈으로 구분해야 합니다.
URL Pattern (Regex) 정규식을 직접 입력하도록 선택할 수도 있습니다. /로 시작할 필요는 없습니다. 플랫폼은 자동으로 URL 접두사에 ^https?://[^/]/를 추가합니다. 예: .*.jpg$는 이 규칙과 관련된 모든 도메인에서 JPG 파일에 대한 요청이 이 정책과 일치함을 나타냅니다.

Query String Caching
Apply to 를 구성한 후 URL의 쿼리 문자열을 CDN 서버의 캐싱 및 응답 기준의 일부로 사용할지 여부를 구성할 수 있습니다. CDNetworks CDN 플랫폼은 세 가지 옵션을 제공합니다.

  • Ignore Query String- Cache Without Query String Parameters

    이 옵션은 요청 URL의 쿼리 문자열을 무시합니다. 쿼리 문자열의 파라미터가 다르더라도 CDN 서버는 물음표 앞의 URL만 캐시합니다. 사용자 요청 URL에서 물음표 뒤의 다른 파라미터는 CDN 서버의 동일한 캐시 파일에 적중합니다.

    또한, CDN 서버에 캐시 파일이 없어서 원본 서버에서 콘텐츠를 가져와야 할 때 쿼리 문자열을 무시할지 여부도 구성할 수 있습니다. 사용자 요청이 CDN 서버로 전달되는 이전 설정과 마찬가지로 여기에서 Yes를 선택하면 CDN 서버에서 원본 서버로 돌아가는 요청 URL이 쿼리 문자열을 무시합니다. 반대로 No를 선택하면 CDN 서버가 원본 서버로 요청을 보낼 때 쿼리 문자열을 포함합니다.

  • Cache on Full Query String- Cache With All Query String Parameters

    이 옵션은 요청 URL의 쿼리 문자열을 무시하지 않습니다. 모든 쿼리 문자열 파라미터를 포함한 전체 URL이 CDN 캐싱 기준으로 사용됩니다. URL의 쿼리 문자열 파라미터 값이 하나라도 변경되면 CDN 서버는 별도의 파일을 캐시합니다. 쿼리 문자열 파라미터가 다른 사용자 요청은 CDN 서버의 다른 캐시 파일에 적중합니다. CDN 서버가 원본 서버에서 파일을 가져와야 할 경우 요청 URL의 모든 쿼리 문자열 파라미터를 유지합니다.

  • Cache on Specific Parameters - Cache With Selected Query String Parameters

    이전 옵션과 유사하게, 이 옵션은 사용자 요청을 캐싱하고 응답할 때 요청 URL의 쿼리 문자열을 무시하지 않습니다. 그러나 캐싱 및 응답 기준으로 사용될 쿼리 문자열 파라미터를 사용자 정의할 수 있습니다. 지정된 파라미터의 값이 다를 때만 CDN 서버가 별도의 캐시 객체를 가지며, 해당 캐시 엔터티로 특정 사용자 요청에 응답합니다.

    그리고 Parameter Caching Options 섹션에서 Include Specific Parameters 를 선택하여 일부 쿼리 문자열 파라미터를 캐싱 기준으로 사용하거나, Exclude Specific Parameters 를 선택하여 일부 파라미터를 제외하고 다른 파라미터만 캐싱 기준으로 유지할 수 있습니다. 여러 파라미터를 세미콜론으로 구분하여 정의할 수 있습니다(예: name;year).

    또한, 원본 서버에서 콘텐츠를 가져올 때 요청 URL에 쿼리 문자열 파라미터를 유지할지 여부를 Origin Parameter Options 필드에서 정의할 수 있으며, 여기에는 Forward Full Query String, Include Specific Parameters 또는 Exclude Specific Parameters 가 포함됩니다. 이러한 옵션의 의미는 앞서 언급한 것과 동일합니다. Exclude Specific Parameters 를 구성할 때 -를 입력하면 원본 서버에 대한 요청 URL에 파라미터가 포함되지 않음을 의미합니다. 여러 파라미터를 세미콜론으로 구분하여 정의할 수 있습니다.

Case-Insensitive Match
이 필드의 기본값은 Yes 입니다.

  • 이 필드에서 Yes 를 선택하면 Apply to 에서 정의한 규칙에 대해 대소문자 구분을 무시합니다. 즉, Apply to 에서 정의한 필드의 대소문자만 다른 두 요청 URL이 동일한 규칙과 일치합니다. 예를 들어, http://domain/a.jpg?version=1을 구성하여 캐싱을 위해 쿼리 문자열을 무시하도록 설정하면 http://domain/A.jpg?version=1도 효과가 있습니다.
  • 반대로 No 를 선택하면 Apply to 설정의 대소문자 구분을 무시하지 않음을 의미하며, 사용자 요청을 일치시킬 때 Apply to 구성의 설정을 엄격하게 따릅니다. 구성된 대소문자와 일치하는 URL에 대해서만 규칙에 따라 CDN 에지 서버에 파일을 캐시합니다.

Priority
Priority 필드에서 이 규칙의 우선순위 수준을 지정할 수 있습니다. 사용자의 요청에 따라 시스템은 구성한 규칙을 일치시킵니다. 여러 규칙이 적용되는 경우 우선순위가 높은 규칙이 먼저 적용됩니다.


설정을 완료한 후 OK 를 클릭하고 Next 를 선택하여 설정을 제출하십시오. 프로덕션 환경에 대한 잠재적인 중단을 최소화하기 위해 스테이징 환경에서 Pre-deploy 테스트를 수행하는 것을 강력히 권장합니다. 이 중요한 단계를 통해 라이브 환경에 적용하기 전에 구성이 정확한지 확인할 수 있습니다. 설정의 정확성을 확인한 후 Deploy Now 를 클릭하여 라이브 환경에 구현하십시오. 구성은 일반적으로 3-5분 이내에 적용됩니다. 사전 배포 테스트에 대한 포괄적인 지침과 구성의 효율성을 확인하려면 Deploy the Configurations to Staging Environment for Validation 튜토리얼을 참조하십시오.


Best Practices

Example 1: Ignore Query String - Cache Without Query String and Ignore Query String When Fetching from Origin
아래 표시된 규칙 구성에서는 URL의 쿼리 문자열 파라미터가 캐싱 기준으로 사용되지 않습니다. 요청 URL의 물음표 앞 경로가 동일한 한, CDN 플랫폼에는 단 하나의 캐시 객체만 존재합니다. 즉, 이 규칙과 관련된 도메인에 대한 모든 요청은 캐싱을 위해 쿼리 문자열을 무시하거나 원본에서 파일을 가져올 때 쿼리 문자열을 무시합니다. 사용자가 http://domain/a.jpg?version=1에 접속할 때 CDN 측에 캐시 적중이 없으면 CDN 서버는 http://domain/a.jpg에서 파일을 가져와 CDN 서버에 캐시합니다. 다음에 사용자가 URL http://domain/a.jpg?version=2를 요청하면 CDN 측의 캐시에 직접 적중합니다.


Example 2: Cache on Full Query String - Cache With All Query String Parameters
아래 표시된 규칙 구성에서는 사용자가 jpg 유형의 파일을 요청할 때 URL의 모든 쿼리 문자열 파라미터가 캐싱 기준으로 사용됩니다. 쿼리 문자열의 파라미터 값이 하나라도 다르면 별도의 캐시 엔터티가 CDN 측에 캐시됩니다. CDN에 캐시 적중이 없으면 전체 요청 URL이 원본에서 파일을 가져오는 데 사용됩니다. 사용자가 http://domain/1.jpg?version=1&name=john에 접속할 때 CDN에 캐시 적중이 없으면 CDN 서버는 http://domain/1.jpg?version=1&name=john에서 파일을 가져와 플랫폼에 캐시합니다. 다음에 사용자가 URL http://domain/1.jpg?version=1&name=john을 요청하면 CDN의 캐시에 직접 적중합니다. 다음 사용자 요청 URL이 http://domain/1.jpg?version=2&name=john이면 캐시에 적중하지 않습니다.


Example 3: Cache on Specific Parameters - Include Specific Parameters
아래 표시된 규칙 구성에서는 사용자가 /directory/ 디렉터리의 URL을 요청할 때 쿼리 문자열의 파라미터 name이 캐싱 기준으로 사용됩니다. 쿼리 문자열의 name 파라미터 값이 다르면 별도의 캐시 엔터티가 CDN 측에 캐시됩니다. CDN에 캐시 적중이 없으면 전체 요청 URL이 원본에서 파일을 가져오는 데 사용됩니다. 사용자가 http://domain/1.jpg?version=1&name=john&year=1991에 접속할 때 CDN에 캐시 적중이 없으면 CDN 서버는 원본에서 http://domain/1.jpg?version=1&name=john&year=1991 파일을 가져와 플랫폼에 캐시합니다. 다음에 사용자가 URL http://domain/1.jpg?version=2&name=john&year=1991을 요청하면 CDN의 캐시에 직접 적중합니다. 다음 사용자 요청 URL이 http://domain/1.jpg?version=1&name=sam&year=1991이면 캐시에 적중하지 않습니다.


Example 4: Cache on Specific Parameters - Exclude Specific Parameters
아래 표시된 규칙 구성에서는 사용자가 URL 경로 /query/1.jpg를 가진 URL을 요청할 때 쿼리 문자열의 파라미터 version이 캐싱 기준으로 사용되지 않습니다. 쿼리 문자열에서 version 파라미터 값만 다른 경우 파일은 CDN 서버에 동일한 객체로 캐시됩니다. name 또는 year 파라미터 값이 다르면 별도의 객체가 CDN 서버에 캐시됩니다. CDN에 캐시 적중이 없으면 전체 요청 URL이 원본에서 파일을 가져오는 데 사용됩니다. 사용자가 http://domain/query/1.jpg?version=1&name=john&year=1991에 접속할 때 CDN에 캐시 적중이 없으면 CDN 서버는 원본에서 http://domain/query/1.jpg?version=1&name=john&year=1991 파일을 가져와 CDN에 캐시합니다. 다음에 사용자가 URL http://domain/query/1.jpg?version=2&name=john&year=1991을 요청하면 CDN의 캐시에 직접 적중합니다. 다음 사용자 요청 URL이 http://domain/query/1.jpg?version=1&name=sam&year=1991이면 캐시에 적중하지 않습니다.


Notes

캐싱을 위해 모든 쿼리 문자열 파라미터를 무시하지 않도록 구성하면, 다른 쿼리 문자열 파라미터 값에 대해 별도의 객체가 CDN 서버에 캐시됩니다. 이는 CDN 플랫폼에서 사용자 요청의 캐시 적중률에 영향을 미치고 원본 서버에 대한 요청 수를 증가시켜 웹사이트의 원본 액세스를 증가시킬 수 있습니다. 따라서 비즈니스상 모든 쿼리 문자열 파라미터를 캐싱 조건으로 사용할 필요가 없다면 캐싱을 위해 쿼리 문자열 파라미터를 무시하거나 일부 파라미터만 캐싱 조건으로 사용하는 것이 좋습니다.

이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.