동적 사이트 가속

Dynamic site acceleration

DSA(Dynamic Site Acceleration)는 동적사이트를 보다 효율적으로 제공하는 기술 그룹이다.[1]애플리케이션 제공 컨트롤러컨텐츠 제공 네트워크(CDN) 제조업체는 다음을 포함하여 동적 사이트를 가속화하기 위해 다양한 기술을 사용한다.

기술

TCP 멀티플렉싱

ADC 또는 CDN과 같은 에지 장치는 웹 서버와 클라이언트 사이에 위치하여 오리진 서버를 오프로딩하고 콘텐츠 제공을 가속화할 수 있는 TCP 멀티플렉싱이 가능하다.

일반적으로 클라이언트와 서버 사이의 각 연결은 연결 기간 동안 오리진에 존재하는 전용 프로세스를 필요로 한다.클라이언트의 연결이 느릴 경우, 서버가 완전한 요청을 기다리는 동안 프로세스가 활성 상태를 유지해야 하기 때문에 원본 서버의 일부를 차지하게 된다.TCP 멀티플렉싱으로 상황은 다르다.장치는 요청이 완전히 도착했을 때 출발지로 전송하기 전에 클라이언트로부터 완전하고 유효한 요청을 받는다.이는 ADC나 CDN에 비해 사용 속도가 느리고 비용이 많이 드는 애플리케이션과 데이터베이스 서버를 오프로드한다.[2]

동적 캐시 제어

HTTPETag, "expires" 및 "last modified"와 같은 헤더를 사용하여 캐시 제어를 위한 내장 시스템을 가지고 있다.DSA를 가지고 있다고 주장하는 많은 CDN과 ADC는 이것을 동적 캐싱 또는 동적 캐시 컨트롤이라고 부르며 그들의 시스템으로 대체했다.표준 HTTP 캐시 제어를 통해 캐시를 무효화하고 바이패스할 수 있는 더 많은 옵션을 제공한다.[3]

동적 캐시 제어의 목적은 웹 사이트의 캐시 적중률을 증가시키는 것인데, 이것은 캐시가 제공하는 요청과 일반 서버가 제공하는 요청 사이의 비율이다.[4]

웹 2.0 웹사이트의 동적 특성 때문에 정적 웹 캐싱을 이용하기 어렵다.그 이유는 정의에 따라 동적 사이트는 사용자와 지역에 따라 개인화된 콘텐츠를 가지고 있기 때문이다.예를 들어 모바일 사용자는 데스크톱 사용자가 볼 수 있는 내용과 다른 내용을 볼 수 있으며, 등록된 사용자는 익명 사용자가 볼 수 있는 내용과 다른 내용을 볼 필요가 있을 수 있다.등록된 사용자들 사이에서도 콘텐츠는 매우 다양할 수 있으며, 종종 소셜 미디어 웹사이트가 이에 해당된다.

동적 사용자 특정 페이지의 정적 캐슁은 캐싱 시스템이 콘텐츠를 구별할 수 있도록 허용하는 식별자 URL/GET-요구가 사용자 특정 토큰/키를 추가하여 올바르게 변경되지 않은 경우 잘못된 사용자에게 관련 없는 컨텐츠 또는 타사 컨텐츠를 제공할 수 있는 잠재적 위험을 야기한다.

동적 캐시 제어는 쿠키 기반 캐시 제어와 같은 캐싱을 구성할 수 있는 더 많은 옵션을 가지고 있으며, 특정 쿠키의 존재나 부족에 따라 캐시에서 콘텐츠를 제공할 수 있다.쿠키는 로그인한 사용자의 고유 식별자 키를 장치에 저장하며, 세션을 여는 페이지를 실행할 때 사용자를 인증하기 위해 이미 구현되어 있으며, 동적 캐싱 시스템에서 캐시들은 URL뿐만 아니라 쿠키 키로 참조되어 익명 사용자 및 pe에게 기본 캐시를 제공할 수 있다.로그인한 사용자에게 Rsonalized cache(코드를 수정하도록 강제하지 않고 정적 캐싱 시스템처럼 URL에 사용자 식별자를 추가하도록 함)

프리페치치

개인화된 콘텐츠를 캐시할 수 없는 경우 에지 장치에 대기열에 넣을 수 있다.이는 앞으로 필요할 수 있는 대응의 목록을 저장해 쉽게 제공받을 수 있도록 한다는 것을 의미한다.이는 프리페치된 응답이 한 번만 제공되기 때문에 캐싱과 다른데, 광고와 같은 타사 API의 응답 가속화에 특히 유용하다.[5]

경로 최적화

"지연 기반 라우팅"이라고도 하는 경로 최적화는 지연 시간을 최소화하기 위해 클라이언트와 다른 오리진 서버 간의 트래픽 경로를 최적화한다.경로 최적화는 DNS 공급자[6] 또는 CDN에 의해 수행될 수 있다.[7]

라우트 최적화는 클라이언트와 오리진 서버 사이의 다중 경로를 측정한 다음, 이들 사이의 가장 빠른 경로를 기록하는 것으로 귀결된다.이 경로는 특정 지리적 영역에 있는 클라이언트가 요청을 할 때 콘텐츠를 제공하는 데 사용된다.[8]

프런트 엔드 최적화와 관계

FEO(Front-end Optimization)와 DSA는 모두 온라인 콘텐츠 전달을 개선하기 위한 기술 그룹을 설명하지만, 그들은 다른 측면에 대해 작업한다.즉각적인 데이터 압축과 향상된 캐시 제어와 같은 중복이 있지만, 주요 차이점은 다음과 같다.

  • FEO는 실제 콘텐츠를 바꾸는 데 초점을 맞추고, DSA는 콘텐츠를 건드리지 않고 콘텐츠 전달을 개선하는 데 초점을 맞추고 있다(즉, DSA는 콘텐츠의 말 그대로 전달).DSA는 콘텐츠를 변경하지 않고 네트워크를 통한 비트 전달을 최적화하는 데 초점을 맞추고 있으며 FEO는 웹사이트 다운로드에 필요한 개체 수를 줄이고 총 트래픽 양을 줄이는 것을 목표로 하고 있다.이는 기기 인식 콘텐츠 서비스(예: 이미지 품질 저하), 축소, 리소스 통합 및 인라이닝에 의해 이루어질 수 있다. FEO는 실제 트래픽을 변경하기 때문에 잘못 변경된 콘텐츠를 서비스함으로써 사용자 경험에 영향을 미칠 위험이 있으므로 구성이 더 어려운 경향이 있다.
  • DSA는 특히 동적 사이트의 경우 페이지 로딩 시간을 줄이고 웹 서버를 오프로드하는 데 초점을 맞추고 있다.FEO는 주로 페이지 로딩 시간을 줄이고 대역폭을 줄이는 데 초점을 맞추고 있다.그럼에도 불구하고, 원본 서버의 비용 절감은 코드를 다시 쓰지 않고 페이지 로딩 시간을 줄여 결과적으로 코드의 최적화에 필요한 인력 시간을 절약하는 FEO를 구현함으로써 페이지 로딩 시간을 줄일 수 있다.또한, 페이지 로딩 시간이 짧을수록 수익이 증가할 수 있다.

참조

  1. ^ http://www.globaldots.com/how-dynamic-site-acceleration-works/[데드링크]
  2. ^ "Archived copy". Archived from the original on 2014-02-26. Retrieved 2014-05-01.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  3. ^ "IBM Knowledge Center". www.ibm.com. Retrieved 2018-11-14.
  4. ^ "What is Dynamic Caching section.io". www.section.io. Retrieved 2018-11-14.
  5. ^ "Does Cloudflare Do Prefetching?". Cloudflare Support. Retrieved 2018-11-14.
  6. ^ "Amazon Route 53 Adds Latency Based Routing".
  7. ^ http://www.akamai.com/dl/feature_sheets/fs_edgesuite_sureroute.pdf[bare URL PDF]
  8. ^ "Choosing a Routing Policy - Amazon Route 53". docs.aws.amazon.com. Retrieved 2018-11-14.