CloudFlare와 같은 CDN은 어떻게 작동합니까?


23

내가 지금까지 이해 한 것 :

  • 현재 웹 호스팅을 유지하지만 사이트의 DNS 서버를 현재 호스팅의 DNS 서버에서 CloudFlare의 DNS 서버로 변경합니다.
  • CloudFlare는 전 세계 여러 데이터 센터에서 웹 사이트 리소스를 제공합니다.

이제이 메커니즘의 기술적 세부 사항을 알고 싶습니다. 내가 가진 몇 가지 질문은 다음과 같습니다.

  1. CloudFlare는 캐시 프록시로 작동합니까? 내 사이트의 페이지에 많은 이미지가 있다고 가정 해보십시오. CloudFlare는 각 데이터 센터의 모든 이미지를 캐시 한 다음 해당 데이터 센터에서 이미지를 제공합니까?

  2. 어떤 사이트 리소스가 영향을 받습니까? 정적 인 것만? 웹 페이지 자체 (HTML 문서)는 어떻습니까? 서버가 페이지를 동적으로 생성하면 어떻게됩니까? CloudFlare는 항상 최신 버전의 페이지를 어떻게 제공합니까?

  3. 내 사이트에 대한 POST 요청 (예 : Ajax를 통해 데이터를 업로드 한 다음 데이터베이스에 저장 한 방문자)은 어떻습니까? 이 물건은 내 서버에서 실행해야합니다. 따라서 CloudFlare는이 프로세스의 성능을 향상시키지 못하고 향상시킬 수 없습니다. 따라서 CloudFlare는 Ajax 요청을 원래 웹 호스트로 중계합니까?

답변:


23
  1. 예, 캐싱 리버스 프록시입니다.
  2. "그것은 달려있다". 기본적으로 이미지 및 CSS와 같은 항목 만 캐시되지만 영역 당 캐시 수준을 설정하고 캐시되거나 캐시되지 않아야하는 내용을 무시하도록 페이지 규칙을 설정할 수 있습니다. 정적 HTML은 페이지 규칙에 의해 강제로 캐시 될 수 있지만 동적 컨텐츠는 분명히 불가능합니다. 여기서는 비즈니스 또는 엔터프라이즈 계획이 있거나 특정 호스팅 파트너를 통해 가입 한 경우, CloudFlare가 동적이더라도 페이지에서 변경된 정보 만 가져 오는 Railgun 기술에 액세스 할 수 있습니다. CloudFlare가 모든 것을 캐시하도록 설정 한 경우 오리진의 캐시 헤더를 사용하거나 CloudFlare UI의 영역에서 캐시 TTL을 설정하여 캐시 시간 초과를 제어해야합니다.
  3. POST는 항상 오리진으로 전송되어야하므로 CloudFlare는 바로 전달합니다. CloudFlare는 anycast를 사용하여 가장 가까운 데이터 센터에서 DNS 및 HTTP를 제공하기 때문에 여전히 성능이 향상되어야합니다.

전체 공개 : CloudFlare에서 일합니다.


5

좀 더 선명하게 추가하려면 다음을 수행하십시오.

Quora에 CloudFlare의 작동 방식 에 대한 좋은 기사가 있습니다 .

어떤 사이트 리소스가 영향을 받습니까? 정적 인 것만? CloudFlare가 기본적으로 캐시하는 것 .

"CloudFlare는 캐시 프록시로 작동합니까? 예를 들어, 내 사이트 페이지에 많은 이미지가 있습니다. CloudFlare는 각 데이터 센터의 모든 이미지를 캐시 한 다음 해당 데이터 센터에서 이미지를 제공합니까?"

PageRules를 사용하여 정적 컨텐츠 이상의 캐싱을 확장 할 수 있습니다.

참고 : 사이트에있는 타사 리소스 (Flickr, Google, Facebook 등)는 캐시하지 않습니다.


1

Damon의 답변을 추가하려면 :

CloudFlare에서 가장 인기 있고 권장되는 페이지 규칙을 설정하는 데 도움이되는 유용한 비디오 자습서를 여기에서 찾을 수 있습니다.

cloudflare.com/features-page-rules

또한 현재 계획에서 사용 가능한 페이지 규칙을 최대한 활용 한 경우 계획을 변경하지 않고도 추가 규칙을 곧 구매할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.