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

예제


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

메서드로 돌아가기