최신 업데이트:2024-07-17 17:19:57
사용자가 웹사이트에서 콘텐츠를 요청할 때, 로직을 구현하기 위해 URL에 물음표 뒤에 특수한 매개변수를 포함할 수 있습니다. 예를 들어, http://domain/1.jpg?version=1
입니다. 기본적으로 CDNetworks CDN 플랫폼은 CDN 서버에서 전체 URL 요청을 캐시합니다. 즉, 물음표 뒤의 매개변수 값이 다르면 콘텐츠의 여러 캐시된 사본이 생성됩니다. 사용자가 요청한 URL은 CDN 서버에서 캐시된 URL과 완전히 일치해야 캐시 히트가 발생합니다.
물음표 뒤에 많은 매개변수가 있는 경우, CDN 서버에서 캐시된 파일의 수가 증가하여 캐시 히트 비율이 감소할 수 있습니다. 이는 오리진 서버로의 요청이 증가하고, 사용자 요청에 대한 응답 지연이 증가하여 궁극적으로 사용자 경험과 오리진 서버의 부하 및 운영 비용에 영향을 미칠 수 있습니다.
사용자가 같은 경로를 갖지만 물음표 뒤의 매개변수가 다른 URL을 사용하여 웹사이트에서 콘텐츠를 요청하고, 웹사이트가 사용자가 동일한 파일을 반환하는 경우, 캐시 목적으로 물음표 뒤의 매개변수를 무시하도록 CDN 플랫폼을 구성하는 것이 좋습니다. 이를 통해 CDN 서버에서 캐시 히트 비율을 개선하고, 더 나은 사용자 경험을 보장하며 오리진 서버의 부하와 비용을 줄일 수 있습니다.
효과 범위
CDNetworks CDN 플랫폼은 효과 범위에 대해 다음 옵션을 제공하며, 규칙이 적용될 요청을 지정할 수 있습니다.
매개변수 | 설명 |
---|---|
모든 요청 | 연관된 도메인에 대해 시작된 모든 요청이 이 규칙에 적용됨을 나타냅니다. |
지정된 파일 유형 | 이 규칙은 지정된 파일 유형의 요청에 적용됩니다. 나열된 항목에서 선택하거나 이 필드에서 파일 유형을 사용자 지정할 수 있습니다. 여러 파일 유형을 ; 로 구분합니다. 예: ace;aac . |
지정된 URI | 특정 URI 요청에 대한 규칙을 설정할 수 있습니다. 규칙당 하나의 지정된 URI만 구성할 수 있습니다; 입력하는 URI에는 http:// 또는 https:// 를 포함하지 않고 URI 부분만 구성합니다. 예: 완전한 URL이 https://domain/browse/index.html 인 경우, /browse/index.html 만 구성하며, 특히 ? 를 포함할 수 없습니다. |
지정된 디렉토리 | 이 규칙은 지정된 디렉토리에 대한 모든 요청에 적용됩니다. 디렉토리는 / 로 시작하고 / 로 끝나야 하며, 문자, 숫자 및 특정 특수 기호(언더스코어, 하이픈, 퍼센트 기호, 점)로 구성될 수 있습니다. 예: /file/1%1/ 는 http://domain/file/1%1/ 디렉토리와 그 내의 모든 파일에 대한 규칙이 적용됨을 나타냅니다.여러 디렉토리는 줄 바꿈으로 구분해야 합니다. |
URL 정규 표현식 | 정규 표현식을 직접 입력할 수도 있으며, / 로 시작할 필요는 없습니다. 플랫폼은 자동으로 URL의 앞에 ^https?://[^/]/ 를 추가합니다. 예: .*.jpg$ 는 이 규칙과 관련된 모든 도메인의 JPG 파일 요청이 이 정책에 일치함을 나타냅니다. |
효과 범위를 구성한 후, URL의 쿼리 문자열이 CDN 서버의 캐싱 및 응답 기준의 일부인지 여부를 구성할 수 있습니다. CDNetworks CDN 플랫폼은 다음 세 가지 옵션을 제공합니다:
모든 쿼리 문자열 무시 - 쿼리 문자열 매개변수 없이 캐시
이 옵션은 요청 URL의 쿼리 문자열을 무시합니다. 물음표 뒤의 매개변수가 달라도, CDN 서버는 물음표 앞의 URL만 캐시합니다. 사용자가 요청한 URL의 물음표 뒤의 다른 매개변수는 CDN 서버에서 동일한 캐시 파일에 히트합니다;
또한, CDN 서버에 캐시 파일이 없고 오리진 서버에서 콘텐츠를 가져와야 할 때 쿼리 문자열을 무시할지 여부를 구성할 수 있습니다. 사용자 요청에 대한 CDN 서버의 이전 설정처럼, 여기서 예를 선택하면 CDN 서버에서 오리진 서버로의 요청 URL은 쿼리 문자열을 무시합니다. 반대로 아니요를 선택하면 CDN 서버는 쿼리 문자열을 포함한 요청을 오리진 서버로 보냅니다.
모든 쿼리 문자열 유지 - 모든 쿼리 문자열 매개변수로 캐시
이 옵션은 요청 URL의 쿼리 문자열을 무시하지 않습니다. 모든 쿼리 문자열 매개변수를 포함한 URL 전체가 CDN 캐싱의 기준으로 사용됩니다. URL의 쿼리 문자열의 매개변수 값이 변경되면, CDN 서버는 별도의 파일을 캐시합니다. 서로 다른 쿼리 문자열 매개변수를 가진 사용자 요청은 CDN 서버에서 다른 캐시 파일에 히트합니다. CDN 서버가 오리진 서버에서 파일을 가져와야 할 때, 요청 URL의 모든 쿼리 문자열 매개변수를 유지합니다.
일부 쿼리 문자열 유지 - 선택된 쿼리 문자열 매개변수로 캐시
이전 옵션과 유사하게, 이 옵션은 요청 URL의 쿼리 문자열을 캐싱하고 사용자 요청에 응답할 때 무시하지 않습니다. 그러나 쿼리 문자열의 어떤 매개변수를 캐싱 및 응답 기준으로 사용할지 사용자 지정할 수 있습니다. 지정된 매개변수 값이 다를 때만 CDN 서버는 별도의 캐시 객체를 가지고 해당 캐시 엔티티로 특정 사용자 요청에 응답합니다.
일부 쿼리 문자열 유지를 선택하여 일부 쿼리 문자열 매개변수를 캐싱 기준으로 사용하거나, 일부 쿼리 문자열 삭제를 선택하여 일부 매개변수를 제외하고 다른 매개변수만 캐싱 기준으로 유지할 수 있습니다. 여러 매개변수를 정의할 수 있으며, 세미콜론으로 구분합니다. 예: name;year
.
또한, 오리진 서버에서 콘텐츠를 가져올 때 요청 URL의 쿼리 문자열 매개변수를 유지할지 여부를 정의할 수 있습니다. 모든 쿼리 문자열 유지, 일부 쿼리 문자열 유지 또는 일부 쿼리 문자열 삭제를 오리진 매개변수 설정 필드에 포함합니다. 이 옵션들의 의미는 이전에 언급한 내용과 일치합니다. 일부 쿼리 문자열 삭제를 구성할 때 -
를 입력하면, 오리진 서버로의 요청 URL에는 매개변수가 포함되지 않습니다. 여러 매개변수를 정의할 수 있으며, 세미콜론으로 구분합니다.
대소문자 구분 무시
이 필드에서 예를 선택하면, 효과 범위에 정의된 규칙에 대해 대소문자를 구분하지 않습니다. 즉, 효과 범위에 정의된 필드의 대소문자만 다른 두 개의 요청 URL이 동일한 규칙에 일치합니다. 예를 들어, http://domain/a.jpg?version=1
을 캐싱을 위해 쿼리 문자열 무시로 구성한 경우, http://domain/A.jpg?version=1
도 유효합니다.
반대로 아니요를 선택하면, 효과 범위에서 대소문자 구분을 무시하지 않으며, 효과 범위 구성에서 설정한 조건에 따라 엄격하게 일치하는 사용자 요청만 CDN 엣지 서버에 캐시됩니다.
이 필드의 기본값은 예입니다.
우선순위
우선순위 필드에서는 이 규칙의 우선순위 레벨을 지정할 수 있습니다. 사용자의 요청을 기반으로 시스템은 설정한 규칙을 매칭합니다. 여러 규칙이 적용되는 경우, 우선순위가 높은 규칙이 먼저 적용됩니다.
구성을 완료한 후 확인을 클릭하고 다음을 선택하여 설정을 제출하십시오. 프로덕션 환경에 영향을 최소화하기 위해, 스테이징 환경에서 사전 배포 테스트를 강력히 권장합니다. 이 중요한 단계는 설정이 라이브 환경에 적용되기 전에 정확성을 보장합니다. 설정의 정확성을 확인한 후 지금 배포를 클릭하여 라이브 환경에 구현합니다. 설정은 일반적으로 3-5분 내에 적용됩니다. 사전 배포 테스트 및 설정 효과 확인에 대한 포괄적인 가이드는 구성을 스테이징 환경에 배포하여 검증하기 튜토리얼을 참조하십시오.
예시 1: 쿼리 문자열 무시 - 쿼리 문자열 없이 캐시 및 오리진에서 가져올 때 쿼리 문자열 무시
아래의 규칙 구성에서, URL의 쿼리 문자열 매개변수는 캐싱 기준으로 사용되지 않습니다. 요청 URL의 물음표 앞의 경로가 동일한 경우, CDN 플랫폼에는 하나의 캐시 객체만 존재하며, 이 규칙에 연결된 도메인에 대한 모든 요청은 캐싱하거나 오리진에서 파일을 가져올 때 쿼리 문자열을 무시합니다. 사용자가 http://domain/a.jpg?version=1
에 액세스할 때, CDN 측에서 캐시 히트가 없는 경우, CDN 서버는 http://domain/a.jpg
에서 파일을 가져와 CDN 서버에 캐시합니다. 다음 번에 사용자가 http://domain/a.jpg?version=2
URL을 요청하면, CDN 측에서 직접 캐시 히트가 발생합니다.
예시 2: 모든 쿼리 문자열 유지 - 모든 쿼리 문자열 매개변수로 캐시
아래의 규칙 구성에서 사용자가 jpg
유형의 파일을 요청할 때, URL의 모든 쿼리 문자열 매개변수가 캐싱 기준으로 사용됩니다. 쿼리 문자열의 매개변수 값이 다른 경우, CDN 측에서 별도의 캐시 엔티티가 캐시됩니다. CDN에서 캐시 히트가 없는 경우, 전체 요청 URL을 사용하여 오리진에서 파일을 가져옵니다. 사용자가 http://domain/1.jpg?version=1&name=john
에 액세스할 때, CDN에서 캐시 히트가 없는 경우, CDN 서버는 http://domain/1.jpg?version=1&name=john
에서 파일을 가져와 플랫폼에 캐시합니다. 다음 번에 사용자가 http://domain/1.jpg?version=1&name=john
URL을 요청하면, CDN에서 직접 캐시 히트가 발생합니다. 다음 사용자 요청 URL이 http://domain/1.jpg?version=2&name=john
인 경우, 캐시 히트가 발생하지 않습니다.
예시 3: 일부 쿼리 문자열 유지 - 일부 쿼리 문자열 매개변수 유지
아래의 규칙 구성에서 사용자가 /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
에서 파일을 가져와 플랫폼에 캐시합니다. 다음 번에 사용자가 http://domain/1.jpg?version=2&name=john&year=1991
URL을 요청하면, CDN에서 직접 캐시 히트가 발생합니다. 다음 사용자 요청 URL이 http://domain/1.jpg?version=1&name=sam&year=1991
인 경우, 캐시 히트가 발생하지 않습니다.
예시 4: 일부 쿼리 문자열 유지 - 일부 쿼리 문자열 매개변수 삭제
아래의 규칙 구성에서 사용자가 /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에 캐시합니다. 다음 번에 사용자가 http://domain/query/1.jpg?version=2&name=john&year=1991
URL을 요청하면, CDN에서 직접 캐시 히트가 발생합니다. 다음 사용자 요청 URL이 http://domain/query/1.jpg?version=1&name=sam&year=1991
인 경우, 캐시 히트가 발생하지 않습니다.
모든 쿼리 문자열 매개변수를 캐시하지 않도록 구성한 경우, 다른 쿼리 문자열 매개변수 값마다 CDN 서버에 별도의 객체가 캐시됩니다. 이는 CDN 플랫폼에서 사용자 요청의 캐시 히트 비율에 영향을 미치고, 오리진 서버로의 요청을 증가시켜 웹사이트의 오리진 액세스가 증가할 수 있습니다. 따라서 비즈니스에서 모든 쿼리 문자열 매개변수를 캐싱 조건으로 사용할 필요가 없는 경우, 캐싱 목적으로 쿼리 문자열 매개변수를 무시하거나 일부 매개변수만 캐시 조건으로 사용하는 것이 좋습니다.