Home » Что такое подписанные биржи?

Что такое подписанные биржи?

Привет, волчата 🙂 (да, жара, меня расстраивает… извините),

Спасибо, что кликнули на мою статью 😁, мы как обычно постараемся сделать качественно и надеюсь, вам понравится…

На этой неделе мы поговорим о подписанных биржах. Это малоизвестная технология, но я нахожу ее очень интересной, поэтому мы собираемся поделиться всем этим с вами!

Вкратце, что позволяют подписанные биржи?

Подписанные обмены — это технология, предлагаемая Google, которая позволяет вам кэшировать ваши страницы и «активы» (например, CSS) с помощью Google (и других совместимых компаний) и позволяет им предварительно загружать ваших клиентов вашим контентом, не требуя от них подключения. ваши серверы.
Вот и статья закончена, всем хорошего дня 🤣! …Но нет, мы пойдем дальше.

Немного контекста

На дворе январь 2023 года, хочу поработать над своей CMS, немного ее изменить, улучшить и немного освежить…

Блуждая по Интернету, я наткнулся на статью (не помню где, и на английском языке), в которой говорится, что отныне подписанные биржи работают и с “настольной” версией Google…

«Что это за штука?»

Итак, я начал интересоваться технологией, хотя и не ожидал от нее многого. Фактически, одно время SEO начало беспокоить меня, когда Google выпустил страницы «AMP» (что означает «Ускоренная мобильная страница»).
По сути, с AMP всё осталось за Google. Что для меня было проблемой, браузер должен отображать реальный URL-адрес контента, а не что-то, начинающееся с домена Google…

Итак, я начинаю копать, просматривать немногочисленные ресурсы по теме (статьи, видео), и пока копаю, говорю себе, что это все еще очень интересно и что я бы хотел разместить это на своем сайте, а также это братьев Маршан.

Фактически мы создаем «двоичный пакет», содержащий HTTP-запрос и его ответ, например HTTP-запрос, позволяющий вам загрузить страницу, на которой вы сейчас находитесь, и, следовательно, ответ, содержащий заголовки, а также тело (в нашем случае HTML) страницы.

После создания этого пакета мы подписываем его с помощью закрытого ключа, связанного с сертификатом (открытым ключом), содержащим имя домена, а также атрибут «CanSignHttpExchanges». Эта подпись позволяет клиентам убедиться, что пакет действительно был выпущен реальным издателем ресурса и не был изменен. Это позволит браузеру отображать ваш домен и URL в адресной строке, даже если технически ресурс был загружен с других серверов.

Read more:  НАСА заявляет, что готово к пилотируемой миссии «Артемида-2» на Луну! [Video]

Фактически, чтобы настроить подписанные биржи, вам необходимо настроить «обратный прокси», перед вашим веб-сервером, именно он будет перехватывать запросы на создание подписанной биржи для ресурса и который создаст эту биржу подписанную, вы также потребуется создать сертификат (и его закрытый ключ) для подписи обменов. Когда я проводил исследование, только DigiCert и Google предлагали проверку сертификата этого типа.

С практической стороны советую это расширениесовместимое со всеми браузерами на базе Chromium, оно позволит вам проверить правильность работы страницы с подписанными биржами.

Совместимость с «обратным прокси» с открытым исходным кодом

Прежде всего, извините, если есть какая-то путаница и не все понятно в этой главе, на самом деле, технология молодая, немного сложно иметь нужную информацию в нужном месте…

Модуль для NGINX

Вы можете найти здесьмодуль для NGINX, не пользовался, не знаю, чего он стоит, но гугл об этом говорит в своей документации.

HTTP-сервер «sxg-rs»

Найти здесь реализация в Rust обратного прокси, который управляет подписанными биржами, как говорится, будьте осторожны, у меня нет ощущения, что в Google продвигают этот проект…

Сервер веб-упаковщика Le

Прыгай туда, сюдаеще одна реализация на Go, к этому проекту у меня больше доверия.

Облачное сияние

Cloudflare предлагает активацию подписанных бирж с помощью простой кнопки в их интерфейсе, эта опция является частью их платных предложений.

Чтобы активировать его, перейдите в «Spped» > «Оптимизация» > «Другие».

Почему я выбрал Cloudflare в качестве обратного прокси?

Для меня это одна из «доверенных» компаний, знаю их уже 10 лет (спасибо, Корбен, в то время. Кроме того, его блог также использует подписанные биржи) и они никогда не повышали цены и не делали ничего действительно вредного (насколько мне известно), несмотря на те полномочия, которые у них есть сейчас, более того, от их услуг очень легко «выйти», просто Смена DNS завершена.

Read more:  Массовые увольнения Ruangguru, сотни сотрудников становятся жертвами

Я хотел злоупотребить подписанными обменами, кэширование HTML – это хорошо, но проблема при загрузке веб-страницы заключается в том, что CSS над сгибом блокирует рендеринг страницы… поэтому его необходимо кэшировать…

Таким образом, у меня был выбор: либо использовать время для реализации обратных прокси-серверов, предлагаемых Google, в моей инфраструктуре, либо позволить Cloudflare сделать это и сосредоточиться на пользовательском опыте, глядя на то, как я собираюсь кэшировать HTML и CSS.

Я сделал выбор довериться Cloudflare, и если что-то пойдет не так, всегда можно вернуться.

Все будет происходить в том, что возвращает ваш сервер, в частности заголовок «Кэш», который позволит Google (или другой третьей стороне, желающей использовать подписанные обмены вашего сайта) знать, как этим управлять.

Вы уже должны изменить «частное» на «публичное», чтобы объяснить CDN и Google, что они могут хранить этот ресурс в кеше.

Затем вы должны определить количество секунд, в течение которых общие кэши должны хранить ресурс в кеше, это делается через переменную «s-maxage».

В проекте Symfony это можно сделать следующим образом:

После того, как вы создали функцию, которая добавляет правильные заголовки к ответу, все, что вам нужно сделать, это создать «Прослушиватель», который будет проверять, должен ли он изменить ответ, и если он должен это сделать, он вызывает нашу функцию, созданную ранее.

Здесь мы видим переменную «ROUTE_TO_CDN_CACHE» — это маршруты Symfony, которые вы хотите сделать «публичными».

Ах, да, да… представьте, что ваши пользователи приходят из Google и видят обычную страницу без красивого имени пользователя в правом верхнем углу и магазин без корзины… это не здорово.

Google предлагает использовать заголовок «Vary: Cookie», чтобы сообщить браузеру не использовать подписанный обмен и нормально загружать страницу с сервера, когда в браузере сохранен файл cookie для этого домена.

Да, но мне это не нравится, это не очень удобно для пользователя… это чушь, мы все равно хотим получить выгоду от сверхбыстрой загрузки…

Для интернет-магазина сыров Marchand Brothers я также хотел подписанные обмены, так как я это сделал?
Очень просто, все страницы продуктов, домашняя страница, категории, мы размещаем их в «публичном доступе» с кодом, который я вам дал ранее (кстати, я извлек этот код оттуда), мы используем Varnish для очистки всех отправленных файлов cookie. клиентом на сервер во избежание утечки данных.

Read more:  Ни снега, ни туристов на горных станциях на севере. Вот что предсказывает IMD | Последние новости Индии

После загрузки страницы мы делаем второй HTTP-запрос с помощью Fetch, этот запрос проверяет, подключены ли мы, если да, то заменяем части, которые изменяются на странице… в нашем случае — пользовательское пространство и корзину.

Наконец, мы создаем локальный кеш с помощью «localStorage», чтобы хранить ответы на этот запрос и изменения страниц…

Вот и все, мы правильно используем подписанные биржи… и каждый получает хороший пользовательский опыт 😍

Используйте подписанные обмены с файлом CSS

Кэширование HTML в Google — это хорошо… но нам нужна загрузка мгновенныйпользователю не придется ждать, пока CSS будет загружен и интерпретирован для просмотра страницы.

Чтобы сделать это с помощью обратного прокси-сервера Cloudflare, просто добавьте HTTP-заголовок к своим ответам, используйте заголовок «link», чтобы сообщить браузеру о необходимости предварительной загрузки ресурса.

Cloudflare позаботится об изменении подписанного обмена, созданного для вашего HTML, добавив ссылку на другой подписанный обмен, CSS.

Здесь я опираюсь на Cloudflare, но в протоколе четко указано, что можно создавать связанные подписанные обмены, поэтому я предполагаю, что другие реализации совместимы (но нужно поступать иначе).

Убедитесь, что подписанный обмен работает правильно

Для этого вам просто понадобится ваш браузер на базе Chromium и Google…

Как только ваши подписанные биржи будут настроены, вы сможете увидеть на вкладке «сеть» вашего браузера, что непосредственно из Google он загружает ваши ресурсы, даже до того, как пользователь нажмет на ваш сайт, напоминаем, что это не создаст нет подключения к вашим серверам (по соображениям конфиденциальности).

Заключение

Вот и все, эта статья подходит к концу, надеюсь, она вам понравилась и чему-то вас научила.
Хорошей недели и до скорой встречи 😁.

2024-05-15 12:00:37


1715809239
#Что #такое #подписанные #биржи

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.