Pull to refresh

Пример веб-производительности

Reading time21 min
Views48K
В любой сложной системе процесс оптимизации по большей части состоит из распутывания связей между различными слоями системы, каждый из которых обладает собственным набором ограничений. До сих пор мы рассматривали ряд отдельных сетевых компонентов детально — различные физические средства и протоколы передачи данных. Сейчас мы можем обратить наше внимание на более широкую, всеобъемлющую картину оптимизации веб-производительности:

  • влияние задержки и пропускной способности на веб-производительность;
  • ограничения, которые протокол TCP накладывает на HTTP;
  • особенности и недостатки самого протокола HTTP;
  • тенденции развития веб-приложений и требования к производительности;
  • ограничения браузеров и возможность оптимизации.

Оптимизация связей между различными слоями, уровнями системы мало отличается от процесса решения системы уравнений. Каждое уравнение зависит от других и при этом влияет на количество возможных решений для всей системы в целом. Стоит отметить, что нет никаких строго закрепленных рекомендации или готовых решений. Отдельные компоненты продолжают развиваться: браузеры становятся все быстрее, изменяются профили подключения пользователей, веб-приложения продолжают меняться в содержании, усложняются задачи, которые ставятся.


Поэтому, прежде чем мы углубимся в рассмотрение и анализ передового современного опыта, важно сделать шаг назад и определить, в чем проблема на самом деле: что такое современное веб-приложение, какие инструменты у нас есть, как мы измеряем веб-производительность, и какие части системы помогают и мешают нашему прогрессу.
Читать дальше →

В Chrome Canary добавили поддержку протокола HTTP/3

Reading time5 min
Views16K

QUIC позволяет мгновенно установить повторное соединение (0-RTT) и обеспечивает минимальную задержку между отправкой запроса и получением ответа

Google Chrome Canary стал первым браузером, в который интегрирована (очень) экспериментальная поддержка протокола HTTP/3, где вместо TCP в качестве транспортного уровня используется протокол QUIC.

HTTP/3 — это новый синтаксис HTTP, который работает на IETF QUIC, мультиплексированном и безопасном транспорте на основе UDP. Хотя некоторые разработчики называют QUIC на UDP «дичайшим экспериментом», новый протокол сулит массу преимуществ.
Читать дальше →

Вышла превью версия NGINX QUIC+HTTP/3

Reading time2 min
Views12K


10 июня 2020 года компания NGINX анонсировала выход превью версии HTTP-сервера и прокси-сервера NGINX с поддержкой QUIC и HTTP/3. Код превью версии проекта NGINX QUIC+HTTP/3 уже доступен и распространяется под лицензией BSD, как и сам NGINX.

Также NGINX запустила специальный портал под названием nginx-quic, который также является демо-сайтом и местом для проверки работоспособности клиентов с поддержкой QUIC+HTTP/3. На этом портале также размещена инструкция по настройке и запуску NGINX QUIC+HTTP/3. Например, для активации HTTP/3 в настройке браузера Firefox параметр network.http.http3.enabled необходимо изменить на true.
Читать дальше →

Cloudflare закрыла все HTTP-соединения и теперь принимает только безопасные HTTPS-соединения для api.cloudflare.com

Reading time2 min
Views20K

Компания Cloudflare прекратила поддержку HTTP-портов для доступа к API Cloudflare (api.cloudflare.com). Отныне все взаимодействия с API будут осуществляться исключительно посредством защищённого протокола HTTPS.

Ранее системы Cloudflare могли перенаправлять HTTP-запросы на HTTPS или возвращать код 403 (Forbidden). Однако, как объясняет компания, даже отклонённые HTTP-запросы могут привести к утечке конфиденциальных данных.

Читать далее

Разработчики Chrome внедряют принудительное открытие сайтов через HTTPS

Reading time2 min
Views9.1K

Один из членов команды разработки Google Chrome, Эмили Старк, сообщила через Твиттер, что в бета-сборку Chrome Canary, а также в Dev-версию браузера будет добавлен экспериментальный флаг "#omnibox-default-typed-navigations-to-https".

Для указанных сборок флаг "#omnibox-default-typed-navigations-to-https" будет включен по умолчанию. Также новая функция будет добавлена в выпуск 89, релиз которого намечен на завтра, 02.03.2021 г.

Читать далее

Пользователи с проблемами в работе Firefox 96.0 и 95.02 начали отключать HTTP/3

Reading time2 min
Views18K

Некоторые пользователи столкнулись с проблемами в работе последних версий Firefox (96.0 и 95.02). При отключении шифрования DoH (DNS-over-HTTPS) браузер не может установить какие-либо соединения. В итоге они начали отключать HTTP/3, чтобы восстановить работу браузера.

Читать далее

Браузер Chrome начал по умолчанию добавлять https:// ко всем адресам

Reading time2 min
Views18K


Начиная с версии Chrome 90 ко всем адресам в браузере начал автоматически подставляться префикс https://. По мнению разработчиков, это улучшит защиту приватности пользователей и даже повысит скорость загрузки страниц.
Читать дальше →

Slack закрыл уязвимость с «массовым захватом аккаунтов через контрабанду HTTP-запросов»

Reading time2 min
Views3.8K


Техника атаки HTTP Request Smuggling (контрабанда вредоносных HTTP-запросов на бэкенд в результате рассинхронизации фронтенд- и бэкенд-серверов) известна 15 лет, хотя в прошлом году Джеймс Кеттл рассказал о новых методах, c помощью которых заработал на bugbounty около $70 000. Судя по всему, атака эффективна и сейчас, причём уязвимы многие.

12 марта 2020 года на портале HackerOne рассекретили описание уязвимости Slack, которую закрыли 13 февраля. Оказывается, до этого времени сессионные куки пользователей Slack были доступны для массового перехвата. Описание взлома Slack довольно подробное, поэтому заслуживает внимания. Похоже, что эту технику можно использовать для взлома других сервисов, которые работают за прокси (AWS ALB, nginx, haproxy до 2.0.6 и прочие).
Читать дальше →

Уязвимость во многих reverse proxy, поддерживающих HTTP/2

Reading time1 min
Views6.7K

Опубликован новый вариант атаки "HTTP Request Smuggling", позволяющей «вклиниться» в запросы других пользователей при использовании HTTP/1.1 persistent connection между прокси (фронтендом) и бэкендом.

Продемонстрирована возможность кражи кук, авторизационных данных, подстановки стороннего js-кода и т. п.; атаке оказались подвержены Netflix, Atlassian, AWS, F5 BIG-IP…

Читать далее

VK Видео перешло на новый протокол HTTP/3

Reading time2 min
Views2.9K

На мероприятии CodeFest 12 в Новосибирске CTO ВКонтакте и VK Видео Александр Тоболь рассказал о внедрении на платформе VK Видео технологии передачи данных на базе нового интернет-протокола HTTP/3 для ускорения доставки видеоконтента. По словам компании VK, данное улучшение будет заметно для пользователей с нестабильным интернет-соединением. Например, в мобильных сетях время старта ролика сократится на 20–25%. Протокол внедрен как на платформе VK Видео, так и в VK Клипах.

Читать далее

Google запретит загрузку файлов по протоколу HTTP в Chrome 86 в октябре

Reading time2 min
Views17K
imageФото: www.bleepingcomputer.com

Google в рамках усиления политики безопасности в Chrome полностью перейдет на использование протокола HTTPS при загрузке файлов. В Chrome 86 в октябре этого года загрузку нельзя будет осуществлять по протоколу HTTP. Это будет возможно только во внутренних сетях, которые необходимо будет настроить по специальной инструкции.
Читать дальше →

Google добавляет в Chrome режим HTTPS-First

Reading time2 min
Views9K

Google собирается повысить безопасность пользователей Chrome с помощью новой функции, которая позволит автоматически обновлять веб-страницы до HTTPS. Режим HTTPS-First напоминает режим HTTPS-Only в Firefox.

Читать далее

Сайты ЦБ РФ, ПСБ не открываются по протоколу https из-за отозванных удостоверяющим центром сертификатов

Reading time1 min
Views58K

В настоящий момент сайты некоторых банков, попавшие под санкции, не открываются по протоколу https. На текущий момент по протоколу https не открываются сайты Центробанка, Промсвязьбанка. Около получаса назад по этой же причине не открывался сайт ВТБ.

Во всех перечисленных случаях сертификаты были выданы одним и тем же удостоверяющим центром. Согласно уведомлению, которое выводит антивирус при "остановке перехода на недостоверный сайт" - "Причина: Для этого сертификата или для одного из сертификатов в цепочке была аннулирована доверенность". Попасть на указанные сайты по протоколу https можно только, нажав на ссылку "Я понимаю риск и хочу перейти на сайт". Большая часть пользователей может испугаться такого предупреждения и отказаться от посещения сайта.

При этом у Промсвязьбанка и у ВТБ при попытке подключиться по протоколу http включена автоматическая переадресация на https версию сайта. Т.е. при недействительном сертификате посетить сайт "невозможно".

У ЦБ РФ нет переадресации с http версии на https версию сайта. Поэтому сайт ЦБ РФ открывается по протоколу http, но недоступен по протоколу https.

ВТБ оперативно устранил проблему, выпустив и установив новый сертификат в другом удостоверяющем центре.

Читать далее

HTTPS реально победил, расширение HTTPS Everywhere закрывается

Reading time2 min
Views14K


Более десяти лет назад Фонд электронных рубежей (EFF) выпустил расширение HTTPS Everywhere. Его функциональность была простой, но полезной: если ввести адрес http://, то расширение автоматически заменяло его на https:// в случае наличия защищённой версии сайта. Такой режим принудительной переадресации гарантировал шифрование канала, когда возможно.

Но сейчас эту функциональность внедрили все популярные браузеры, поэтому необходимость в специальном расширении отпала.
Читать дальше →

Safari перестанет принимать сертификаты HTTPS, срок действия которых превышает 13 месяцев

Reading time2 min
Views12K
image

Apple решила вступить в борьбу с долговечными сертификатами HTTPS — Safari в конце этого года откажется принимать новые сертификаты, срок действия которых составляет более 13 месяцев с момента создания. При открытии сайтов, которые используют долгосрочные сертификаты SSL/TLS, выпущенные после этого момента, браузер будет выдавать ошибку конфиденциальности.

Тим Каллан, старший сотрудник Sectigo, управляющей PKI и SSL, сказал The Register: «Сертификаты, выданные до 1 сентября, будут иметь ту же приемлемую продолжительность, что и сегодняшние — 825 дней. Для этих сертификатов никаких действий не требуется».
Читать дальше →

Rutracker перешёл на HTTPS

Reading time1 min
Views22K

Популярный торрент-трекер Rutracker подключил шифрование HTTPS. Пока что шифрование доступно в виде опции при авторизации, а скоро будет включено по умолчанию для всех пользователей.

«Это нововведение планировалось давно, но несколько раз откладывалось. Сначала мы планировали блокировать отдельные темы по запросам Роскомнадзора, потом, когда это стало неактуальным , совмещали работу сертификата с зеркалами форума, а потом тестировали работу с плагинами обхода блокировок», — говорится в официальном сообщении.
Читать дальше →

DNS-over-HTTPS заработает в Google Chrome для Linux

Reading time2 min
Views6.6K

Разработчики Google Chrome объявили о планах развернуть поддержку DNS-over-HTTPS (DoH) в браузере Chrome для Linux. DoH уже поддерживается на Windows, Mac, ChromeOS и Android.

Читать далее

HTTP/3: развёртывание HTTP/3 на практике. Часть 3

Reading time29 min
Views24K

Фото Wolfgang Rottmann, Unsplash.com

После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Рассказываем, какие трудности могут возникнуть при развёртывании и тестировании HTTP/3 и как адаптировать к нему сайты и ресурсы.

Это третья и последняя часть серии о новых протоколах HTTP/3 и QUIC. Если, прочитав предыдущие две части об истории и основных концепциях и функциях производительности HTTP/3, вы решили, что новые протоколы срочно нужно внедрять (будем надеяться, что так вы и решили), здесь мы расскажем, как это сделать.
Читать дальше →

Двуликий REQUEST_URI или в поисках корректного HTTP/1.1 сервера

Reading time15 min
Views67K
Вы знаете, чем отличается %{REQUEST_URI} в Apache mod_rewrite от $_SERVER["REQUEST_URI"] в PHP?

Сможете в .htaccess на уровне Apache сделать корректную переадресацию 301 с домена с префиксом www или на него?

Для последнего вопроса я и сейчас не смогу предложить решение. Причина в протоколе HTTP/1.1, который пришлось изучить подробнее, когда «изобретал велосипед» (создавал ядро для сайта).

Всё дело в HTTP-заголовке запроса «Host:». При определённых условиях там может быть всё, что угодно, причём сервер должен полностью это проигнорировать согласно HTTP/1.1. Большинство же разработчиков используют значение этого поля, например, для SEO-оптимизаций. Забегая вперёд, скажу, что дополнительный прокси (например, nginx) позволит решить эту проблему.

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

Что же скрывает REQUEST_URI в HTTP/1.1?

Узнать подробности

Как HTTP/2 сделает веб быстрее

Reading time21 min
Views59K


Протокол передачи гипертекста (HTTP) — это простой, ограниченный и невероятно скучный протокол, лежащий в основе Всемирной паутины. По сути, HTTP позволяет считывать данные из подключённых к сети ресурсов, и в течение десятилетий он выступает в роли быстрого, безопасного и качественного “посредника”.
В этой обзорной статье мы расскажем об использовании и преимуществах HTTP/2 для конечных пользователей, разработчиков и организаций, стремящихся использовать современные технологии. Здесь вы найдёте всю необходимую информацию о HTTP/2, от основ до более сложных вопросов.
Читать дальше →
1
23 ...