서명된 HTTP 교환

Kinuko Yasuda

서명된 HTTP 교환 새로운 기술(즉, 'SXG')의 하위 집합으로 웹 패키지: 게시자는 다른 사람이 재배포할 수 있도록 하여 안전하게 콘텐츠를 이동 콘텐츠의 무결성과 저작자를 표시합니다. 휴대용 보다 빠른 콘텐츠 전송에서부터 Google Cloud 사용자 간 콘텐츠 공유를 용이하게 하고 오프라인 환경을 간소화합니다.

서명된 HTTP 교환은 어떻게 작동할까요? 이 기술을 통해 게시자는 하나의 HTTP 교환에 (즉, 요청/응답 쌍)에서 더 빠르게 모든 캐싱 서버에서 제공됩니다. 브라우저가 이 Signed Exchange를 로드할 때, 게시자의 URL이 주소 표시줄에 표시되도록 할 수 있습니다. 콘텐츠가 원래 확인할 수 있습니다.

서명된 교환: 핵심

이를 통해 콘텐츠 출처와 배포자가 분리됩니다. 내 콘텐츠 특정 서버나 연결 등에 의존하지 않고 직접 관리할 수 있습니다 Google은 다음과 같은 SXG의 사용 가능성에 대해 기쁘게 생각합니다.

  • 개인 정보 보호 미리 가져오기: 리소스를 미리 가져오는 동안 (예: by link rel=prefetch) 사용하면 탐색 속도가 훨씬 빨라질 수 있지만 개인 정보 보호 단점도 있습니다 예를 들어 교차 출처 탐색은 사용자가 사용자가 정보를 얻는다고 하더라도 궁극적으로 해당 사이트를 방문하지 않은 것입니다. 반면에 SXG는 도달하지 않고 빠른 캐시에서 교차 출처 리소스를 미리 가져오는 경우 이를 통해 관련성 높은 경우에만 사용자의 관심을 알림을 받습니다. Google은 이 기능이 사이트에서 광고를 다른 웹사이트로 보내는 것이 목표인 광고주 특히 Google은 Google 검색 결과 페이지에서 이 기능을 사용하여 AMP URL 개선 검색결과의 클릭 속도를 높일 수 있습니다.

  • 인증서 비공개 키를 직접 제어할 수 없는 CDN의 이점: 갑자기 인기를 얻은 콘텐츠 (예: reddit.com의 첫 페이지)이 있으면 사이트에 과부하가 걸리기도 합니다. 콘텐츠가 게재되는 페이지이며, 사이트가 상대적으로 작으면 속도가 느려지거나 일시적으로 사용할 수 없게 될 수 있습니다 이러한 상황은 빠르고 강력한 캐시 서버 및 SXG를 사용하여 콘텐츠를 공유하면 TLS 키를 공유하지 않고도 가능합니다.

서명된 교환 시도

서명된 교환은 Chrome 73 이상에서 사용할 수 있으며 이전에는 사용되었습니다. 오리진 트라이얼로 제공됩니다

SXG 만들기

게시자로서 원본에 대한 SXG를 만들려면 서명하는 데 사용할 인증서 키를 사용하고 인증서에는 특별한 'CanSignHttpExchanges' 확장 프로그램 유효한 SXG로 처리됩니다. 2018년 11월 현재, DigiCert 이 확장 프로그램을 지원하는 유일한 CA이며 SXG에서 작동하는 인증서의 이 페이지를 참고하세요.

SXG 인증서를 받으면 다음을 사용하여 자체 SXG를 만들 수 있습니다. 참조 생성기 도구 확인할 수 있습니다

또한 Chrome 코드 저장소 (예: 이 도움말 단일 목적 달성을 위해 만들어진 간단한 텍스트 파일)로 사용할 수 있습니다. 이 파일은 주로 로컬 테스트를 위해 생성됩니다. 서명에 유효한 인증서와 타임스탬프가 있는지 확인합니다.

로컬에서 기능 테스트

테스트 목적으로 SXG를 만들려면 자체 서명 인증서 chrome://flags/#allow-sxg-certs-without-extension을(를) 사용 설정하여 Chrome은 특수 확장 프로그램 없이 인증서로 생성된 SXG를 처리합니다.

서버, 인증서, SXG에서 다음과 같은 코드가 작동합니다. 올바르게 설정되어 있는지 확인합니다.

<!-- prefetch the sample.sxg -->
<link rel="prefetch" href="https://your-site.com/sample.sxg" />

<!-- clicking the link below should make Chrome navigate to the inner
     response of sample.sxg (and the prefetched SXG is used) -->
<a href="https://your-site.com/sample.sxg">Sample</a>

SXG는 앵커 태그 (<a>) 및 link rel=prefetch에서만 지원됩니다. Chrome 73 이상에서 지원됩니다. 또한 서명의 유효성은 7로 제한됩니다. 일 수 있으므로 서명된 콘텐츠가 비교적 빨리 만료됩니다.

의견 제공하기

이 실험에 대한 여러분의 의견을 webpackage-dev@chromium.org를 사용합니다. 다음과 같은 작업을 할 수 있습니다. 사양 토론에도 참여하세요. 또는 신고 Chrome 버그 전달할 수 있습니다 제공해 주시는 의견은 표준화 과정을 개선하는 데 큰 도움이 됩니다. 구현 문제를 해결하는 데도 도움이 됩니다.

의견