В нощните сборки на Firefox е добавена поддръжка на HTTP/3

В нощни сборки Firefox, който ще бъде основата на версия Firefox 72, планирана за 7 януари, е добавена поддръжката на протокола HTTP/3. По подразбиране HTTP/3 е изключен и изисква активиране на опцията „network.http.http3.enabled“ в about:config.

Поддръжката на HTTP/3 в Firefox се основава на разработвания от компанията Mozilla проект neqo, предоставящ реализация на клиент и сървър за протокола QUIC. Кодът на компонентите за поддръжка на HTTP/3 и QUIC е написан на Rust.
В клиентския софтуер експерименталната поддръжка на HTTP/3 вече е е добавена в Chrome и curl, а за сървърите е налична под формата на модул за nginx и тестов сървър въз основа на библиотеката quiche (реализация QUIC и HTTP/3 на езика Rust от компанията Cloudflare). За проверка на работата на клиентите на HTTP/3 са пуснати няколко тестови сайта, повечето от които все още не се отварят правилно в Firefox (HTTP/3 е на етап чернова на спецификацията и все още не е окончателно стандартизиран).

Напомняме, че HTTP/3 стандартизира използването на протокола QUIC като транспорт за HTTP/2. Протоколът QUIC (Quick UDP Internet Connections) се развива от 2013 г. от компания Google като алтернатива на връзката TCP+TLS за уеб, решаваща проблемите с дългото време за установяване и синхронизиране на връзките в TCP и премахваща забавянията при загуба на пакети по време на предаване на данни. QUIC е изграден над протокола UDP, поддържащ множества отворени връзки и осигуряващ методи за криптиране, еквивалентни на TLS/SSL.

Основни особености QUIC:

  • Висока сигурност, подобна на TLS (по същество QUIC предоставя възможност за използване на TLS върху UDP);
  • Контрол на целостта на потока, предотвратяващ загуба на пакети;
  • Възможност за незабавно установяване на връзка (0-RTT, в около 75% от случаите данни могат да се предават веднага след изпращане на пакета за установяване на връзката) и осигуряване на минимални забавяния между изпращане на заявка и получаване на отговор (RTT, Round Trip Time);
  • Не използването при повторна предаване на пакета с еднакъв номер на последователност, което позволява да се избегне двусмислието при определянето на получените пакети и да се избавим от таймаутите;
  • Загубата на пакет влияе само на доставката на свързания с него поток и не спира доставката на данни в паралелно предавани потоци през текущото свързване;
  • Средства за корекция на грешки, минимизиращи закъсненията от повторната предавка на загубени пакети. Използване на специални кодове за корекция на грешки на ниво пакет, за да се намалят ситуациите, изискващи повторна предавка на данни от загубения пакет.
  • Границите на криптографските блокове са изравнени с границите на QUIC пакетите, което намалява влиянието на загубите на пакети върху декодирането на съдържанието на следващите пакети;
  • Липса на проблеми с блокирането на опашката на TCP;
  • Подкрепа за идентификатор на свързване, който позволява да се намали времето за повторно установяване на свързването за мобилни клиенти;
  • Възможност за свързване на разширени механизми за контрол на натоварването на свързването;
  • Използване на техника за прогнозиране на пропускната способност във всяка посока, за да се осигури оптимална интензивност на изпращане на пакети, предотвратявайки спадането в състояние на натоварване, при което се наблюдават загуби на пакети;
  • Забележителна прибавката производителност и пропускна способност в сравнение с TCP. За видеосервизи като YouTube, прилагането на QUIC показа намаляване на операциите по повторно буфериране по време на гледане на видео с 30%.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster