Я бы написал про Sec-WebSocket-Accept и его проверку.
Если клиент не проверяет что значение в Sec-WebSocket-Accept это и есть именно SHA-1(Base64(seed key + GUID)), то это угрожает безопасности.
«13 единственная актуальная и других нет» это не так.
Сам протокол допускает возможность сообщения сервером других поддерживаемых версий через Sec-WebSocket-Version. Не нужно тут цементировать окошечко.
И не совсем понятно высказывание "любой фрейм можно делить на части".
Фрагментация применима только к фреймам данных, управляющие фреймы нельзя фрагментировать.Окончание сообщения определяется битом FIN. - это требование спецификации.
Cross - cluster не единственный путь. Вам бы архитектора.
UNLOGGED → нет WAL → нет репликации → проблема.)
Почему архитектура вообще допускала такой класс ошибок?
Надеюсь у вас теперь есть: lint, запрещающий UNLOGGED, policy на создание партиций, обязательный replication-test
и архитектурный чек-лист.
Всего наилучшего.
Хорошо написано, но есть небольшие но:
Я бы написал про Sec-WebSocket-Accept и его проверку.
Если клиент не проверяет что значение в Sec-WebSocket-Accept это и есть именно SHA-1(Base64(seed key + GUID)), то это угрожает безопасности.
«13 единственная актуальная и других нет» это не так.
Сам протокол допускает возможность сообщения сервером других поддерживаемых версий через Sec-WebSocket-Version. Не нужно тут цементировать окошечко.
И не совсем понятно высказывание "любой фрейм можно делить на части".
Фрагментация применима только к фреймам данных, управляющие фреймы нельзя фрагментировать.Окончание сообщения определяется битом FIN. - это требование спецификации.