TsgcWebSocketLoadBalancerServer메서드 › PushPromiseAddPreLoadLinks

PushPromiseAddPreLoadLinks 메서드

일치하는 요청 경로가 로드 밸런서에 의해 제공될 때마다 일련의 관련 리소스를 사전 로드하는 HTTP/2 Server Push 규칙을 등록합니다.

구문

procedure PushPromiseAddPreLoadLinks(const aPathMatch: String; const aLinks: TStrings);

Parameters

NameType설명
aPathMatchconst String푸시를 트리거하는 요청 경로입니다(예: /index.html). 클라이언트가 HTTP/2를 통해 이 리소스를 요청하면 로드 밸런서도 이에 등록된 링크를 푸시합니다.
aLinksconst TStrings스타일시트, 스크립트 또는 기본 문서가 참조하는 이미지와 같이 일치하는 요청과 함께 푸시될 리소스 경로 목록(한 줄에 하나)입니다.

설명

PushPromiseAddPreLoadLinks는 로드 밸런서가 백업 HTTP 서버와 공유하는 내부 HTTP/2 push-promise 테이블에 새 항목을 추가합니다. HTTP/2 클라이언트가 aPathMatch로 지정된 경로를 요청할 때마다, 요청을 처리하는 노드는 메인 응답 전에 aLinks의 모든 링크에 대해 PUSH_PROMISE 프레임을 발행하므로, 클라이언트는 추가 왕복 없이 캐시를 채울 수 있습니다. 전체 워크플로는 HTTP/2 Server Push를 참조하십시오. 링크 목록은 복사되므로, 호출자는 호출 후 제공된 TStrings를 자유롭게 해제할 수 있습니다. Push promise는 ALPN을 통해 협상된 HTTP/2 연결에서만 적용됩니다. HTTP/1.1 클라이언트는 약속된 리소스 없이 메인 응답을 수신합니다. 규칙을 삭제하려면 PushPromiseRemovePreLoadLinks를 호출하십시오.

예제


oServer := TsgcWebSocketLoadBalancerServer.Create(nil);
oLinks := TStringList.Create;
try
  oLinks.Add('/styles.css');
  oServer.PushPromiseAddPreLoadLinks('/index.html', oLinks);
finally
  oLinks.Free;
end;

메서드로 돌아가기