Π’ Chrome 106 Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Server Push

Компания Google ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΠ»Π° ΠΎΠ± ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Server Push Π² выпускС Chrome 106, Π½Π°ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΌ Π½Π° 27 сСнтября. ИзмСнСния Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹, основанныС Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Chromium. ВСхнология Server Push ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² стандартах HTTP/2 ΠΈ HTTP/3, ΠΈ позволяСт сСрвСру ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ рСсурсы ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, Π½Π΅ доТидаясь ΠΈΡ… явного запроса. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страницы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для отрисовки страницы Ρ„Π°ΠΉΠ»Ρ‹ CSS, скрипты ΠΈ изобраТСния ΠΊ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ запроса ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ окаТутся ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° Π΅Π³ΠΎ сторону.

Π’ качСствС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ прСкращСния ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ упоминаСтся излишнСС услоТнСниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ простых ΠΈ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ эффСктивных Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ‚Π΅Π³ <link rel=»preload»>, Π½Π° основании ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ рСсурс Π½Π΅ доТидаясь Π΅Π³ΠΎ использования Π½Π° страницС. C ΠΎΠ΄Π½ΠΎΠΉ стороны, preload ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Server Push ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π»ΠΈΡˆΠ½Π΅ΠΌΡƒ ΠΎΠ±ΠΌΠ΅Π½Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ (RTT), Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΌ кэшС. Π’ Ρ†Π΅Π»ΠΎΠΌ отличия Π² Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ… ΠΏΡ€ΠΈ использовании Server Push ΠΈ preload ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ нСсущСствСнныС.

Для инициирования ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сторонС сСрвСра прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ HTTP-ΠΎΡ‚Π²Π΅Ρ‚Π° 103, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΎ содСрТании Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² сразу послС запроса, Π½Π΅ доТидаясь ΠΏΠΎΠΊΠ° сСрвСр Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ всС связанныС с запросом ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°Ρ‡Π½Ρ‘Ρ‚ ΠΎΡ‚Π΄Π°Ρ‡Ρƒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ подсказки ΠΎ связанных с ΠΎΡ‚Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ страницСй элСмСнтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ссылки Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° страницС CSS ΠΈ JavaScript). ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… рСсурсах Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π½Π΅ доТидаясь окончания ΠΎΡ‚Π΄Π°Ρ‡ΠΈ основной страницы, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запроса.

ΠšΡ€ΠΎΠΌΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ рСсурсов ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Server Push Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ сСрвСра ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, Π½ΠΎ для этих Ρ†Π΅Π»Π΅ΠΉ консорциум W3C Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» WebTransport. Канал связи Π² WebTransport организуСтся ΠΏΠΎΠ²Π΅Ρ€Ρ… HTTP/3 с использованиСм Π² качСствС транспорта ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° QUIC. WebTransport ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности, ΠΊΠ°ΠΊ организация ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ, доставка Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° порядка ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (out-of-order), Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΉ ΠΈ Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌΡ‹ доставки.

По статистикС Google тСхнология Server Push Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ распространСния. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Server Push присутствуСт Π² спСцификации HTTP/3, Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ сСрвСрныС ΠΈ клиСнтскиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Chrome, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π΅Π³ΠΎ. Π’ 2021 Π³ΠΎΠ΄Ρƒ ΠΎΠΊΠΎΠ»ΠΎ 1.25% сайтов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ HTTP/2, использовали Server Push. Π’ этом Π³ΠΎΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ снизился Π΄ΠΎ 0.7%.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ