The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В ночных и бета сборках Firefox включена по умолчанию поддер..."
Отправлено Урри, 21-Мрт-21 10:24 
Очередное эталонное ненужно.

Я каждый раз, когда приходится что-то из современного веба имплементировать, удивляюсь глупости тех, кто это придумывал и внедрял. Хотите примеры? Пожалуйста.

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

Для примера, есть в стандарте хендшейка веб-сокета такой момент: клиент должен сформировать некий ключ и отправить его серверу в base64. Так в стандарте (rfc6455) и написано прямым текстом "base64".

А дальше этот ключ на стороне сервера никто не(!) декодирует. Его используют прямо так - текстовой строкой. Более того, к этой строке добавляется GUID, причем в стандарте так и написано прямым текстом "guid", Который, внезапно, является тоже просто строкой(!), причем прямо захардкоженой. Вот эта строка: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11", можете поискать ее в интернете - увидите, что я не вру, без того, чтобы читать весь стандарт.

Внимание, вопрос: почему в стандарте не написано "сгенерируйте текстовую строку из разрешенных символов? Почему не написано "к этой строке надо конкатенировать другую строку "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"? Почему там требование ненужного base64 и ненужного guid?

Я отвечу - потому, что все делается на коленке болванами и торопыгами. Да, продуктивными болванами, но от этого не менее болванистыми (и более вредными). Буяк-буяк-и-в-продакшен, web 2.0, аджаааааайл, некогда думать надо делать, прыг-прыг-прыг.

Придумали сначала ключ, надо передать строкой, вот вам бейз64, сервер декодирует, добавляет уникальный гуид и использует. Ой, нет, а давайте не будем декодировать, нам и так хорошо. Ой, а еще и гуид пусть один и тот же будет, зачем его менять? А что там у нас в документе написано для клиента? А, не важно, некогда все приводить к единому знаменателю, юниттесты работают и ладно, некогда объяснять надо код сдавать.

Вот так base64 с гуидом и остались. Артефакты прошлой текучки. Эхо аджайла и разгильдяйства. Отголосок сломанного кривыми технологиями мозга (я намекаю на джаваскрипт).

Я такое могу про много что рассказать. Например, про обязательный для всех CORS, который бесполезен целиком и полностью и элементарнейшим образом обходится любым злоумышленником, при этом добавляя неплохой оверхед к передаче данных. И куче других веб-технологий.

Точно так же делаются всякие расты, из-за чего их и хейтят. Мы то знаем и помним, как правильно делать подобные вещи. А недоучкам всяким невдомек, что сначала надо думать и только тогда делать, ведь потом придется снова и снова переделывать.

Так вот, повторюсь - HTTP/3 такое же непродуманное ненужно. Для веб-страничек не нужен очередной велосипедный TCP, им и классического с головой хватает. А для веб-игрушек, аудио, видео и что еще там кто себе с низким временем отклика придумает, нужен обычный отлаженный стандартизированный прекрасно уже 16 лет как работающий RTP.

Зачем это гуглу? Наверное, снова хотят очередной невынимаемый зонд вставить.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру