The OpenNET Project / Index page

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



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

Исходное сообщение
"В ночных и бета сборках Firefox включена по умолчанию поддер..."
Отправлено Аноним, 21-Мрт-21 17:19 
По-порядку.

---> Почему не написано "к этой строке надо конкатенировать другую строку "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"

Ты английский не понимать? Я тебе прямым текстом цитату скинул в прошлый раз. Ещё раз, но попроще...

---> concatenate this with "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" in string form

----> сгенерируйте текстовую строку из разрешенных символов

Там не надо ничего генерировать.
Это уникальный идентификатор протокола, ты до сих пор этого не понял? Вернул эту строку - значит соответствует спецификации стандарта WebSocket.

---> Строка "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" не GUID
---> GUID - это 16 байт

GUID - это стандарт того, как генерировать "уникальный" идентификатор.

Если строка сгенерирована по спецификации - это GUID. Точка. Если другие строки будут сненериоованы по спецификации - шансы коллизий минимальны.

Или ты хочешь сказать что если я в коде сненерировал GUID и начал им пользоваться (и сервер / клиент / пользователь) увидел его - это уже не GUID?

Тут просто взяли и сгенерировали GUID и вставили в стандарт.

И это GUID ровно в том самом смысле - соответствует спецификации стандарта.

Открываем стандарт https://tools.ietf.org/html/rfc4122. Читаем...
---> The formal definition of the UUID string representation is...


"258EAFA5-E914-47DA-
95CA-C5AB0DC85B11" - это не строка. Это строковое представление GUID.

---> Внимание, вопрос: почему в стандарте не написано "сгенерируйте текстовую строку из разрешенных символов

Что там сервер будет "генерировать"?) Версию протокола? Ещё раз - этот GUID не определяет уникальность сервера, он определяет какой спецификации он соответствует. Поэтому он в тексте стандарта. Там могла быть любая, достаточно уникальная строка, типа "rfc-5432-websocket".

Наоборот, подумали и перестраховались, а не влепили что попало. Это как раз показатель продуманного и хорошего стандарта.

---> ведь декодирования не происходит

Не происходит.

Весь смысл base64 в этом ...
---> Base encoding of data is used to store or transfer data restricted to US-ASCII [1] data.

Base encoding can also be used in new applications that do not have legacy restrictions, simply because it makes it possible to manipulate objects with text editors.

Те чтобы ты мог легко декодировать данные, которые приходят по HTTP. Ведь HTTP это текстовый протокол. А данные могут передаваться по нему самые разные.

И этот base64 используется в сотнях, если не тысячах RFC для HTTP чтобы реально кодировать / декодировать данные. И HTTP клиенты / серверы уже имеют base64 кодировку. И есть куча библиотек для этой кодировки. Логично использовать её же, тк HTTP стандарты должны имееть преемственность и дружить друг с другом.

А тут приходит такой Вася - эксперт с opennet и говорит "Нинужна! Сложна!" надо "Можно сразу генерировать строку похожую на base64 (из алфавита a..z=)".

Те Вася предлагает НОВУЮ кодировку, "похожую". Под конкретно этот стандарт. Остальные заголовки будут приходит в base64, а этот "из алфавита a..z=".

А потом ещё одну, под другой...и ещё одну...

Хорошо что стандарты пишут "говноделы из Google", а не "эксперты с opennet". Надеюсь что так и дальше останется.


 

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



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

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