Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как можно распарсить такую строку?

Лучший ответ:
Можно использовать simplexml_load_string. На выходе получится объект, с которым проще работать.$xml = simplexml_load_string('<html><content></content><json><![CDATA[{"type":"datasource", "Result":true,"HasVKBinding":true}]]><![CDATA[{"type":"webparams", "ClientScriptId":"string-CommonController","ContainerId":"string-CommonController","ClientControlClass":"string-CommonController","DisableDomRendering":"bool-False","ExpireMinutes":"integer-0"}]]></json></html>');
$array_from_json = json_decode($xml->json, 1);

Худший ответ:
Если конструкция строки всегда одинаковая, то можно так:$html = 'ваша_строка';
preg_match('/"Result":(.*?),/is', $html, $m);
$result = $m[1];
var_dump($result); /* string(4) "true" */
Если JSON может меняться, то раскодировать сам JSON можно так:$html = 'ваша_строка';
preg_match('/CDATA\[(.*?)\]/is', $html, $m);
$json = $json = json_decode($m[1], true);
$result = $json['Result'];
var_dump($result); /* bool(true) */
Вопрос: Какую связку технологий выбрать для реализации проекта с 5000 онлайном?

Лучший ответ:
Зависит от того, какую среднюю нагрузку на сервер дает среднестатистический пользователь, как часто они это делают, какие возможные пики.
Просто количество пользователей - ни о чем.
Например простой форум с 5000 единовременным онлайн можно даже на среднестатистическом современном ноутбуке хостить. Под виндой.

Худший ответ:
это не сильно много онлайна. Нормальная связка. Только для более быстрого доступа к инфе всякую шнягу которую надо тютя в тютю обновлять в реалтайме я бы писал асинхронно в redis и обращался в него нодой.
Железо тоже нормальное нужно для такого онлайна + кластеризация ноды и в добрый путь.
Вопрос: Почему 0 == null // false?

Лучший ответ:
"Значения null и undefined равны == друг другу и не равны чему бы то ни было ещё. Это жёсткое правило буквально прописано в спецификации языка." И.Кантор

Худший ответ:
Потому что таковы спецификации языка. Вот тут полная таблица: https://dorey.github.io/JavaScript-Equality-Table/
И не дублируйте вопросы, пожалуйста, — читайте спецификации языка, там все есть.
Вопрос: Как оповещать большое количество клиентов о событиях?

Лучший ответ:
Dklab_Realplexor оно?

Худший ответ:
4 - запустить воркер чтоб чекал задания, при появлении нового/новых этот воркер запускает себя уже с конкретным заданием (если заданий появилось много - запускает сразу несколько воркеров с несколькими заданиями) - ждет. потом снова повторяет процесс.
Вопрос: Какая это тема вордпресс?

Лучший ответ:
Не знаю открою ли для вас секрет, но если сайт сделан на wordpress это не значит, что его делали путем установки бесплатного (или) платного шаблона, перекрашивании цветов "под себя" и добавления крутелок-вертелок. Так делают только домохазяйки или аля "блоггеры" (которые на своем блоге, стотысячный раз пишут как установить wordpress и предоставляют услуги поп "созданию сайта на wordpress") . По нормальному все делают с нуля начиная с прорисовки дизайна, верстки и заканчивая  разработкой функционала (в конкретном случаи для бэкенда, чтобы было дешевле взяли CMS wordpress). Как-то так.

Худший ответ:
Это никоим разом не напоминает базовую, там нет таких качественных тем, тема явно на заказ разрабатывалась
И да, на тех сайтах что вы скинули совершенно разная тема
Вопрос: Git как удобнее работать?

Лучший ответ:
в первом случае подводный камень такой, что Вы потом ничего не сможете сделать в консоли.

Худший ответ:
Как привык, так и удобнее.
Вопрос: Часто ли вам приходится работать с плохим кодом на работе?

Лучший ответ:
ну, за весь код не отвечу
Но, в целом, нужно понимать, что специалистов, которые знают, как писать правильно/красиво/поддерживаемо, достаточно и они среди нас
Может не быть условий. Может быть поток задач, такой, что, с болью в груди, приходится стряпать, как есть
Может не быть желания. Типа мы тут штампуем однотипные продукты по 3 штуки в неделю, а я вообще летом уволюсь
Может не хватать ревью от кого-то со стороны. Когда конторы нанимают со стажем в 1,5 года сидеть и пилить все подряд
Может, все сразу
Не весь бизнес готов слушать рассуждения айти о важности архитектуры и вот этого всего. Есть запрос от маркетинга - сделай, пожалуйста к обеду 

Худший ответ:
Устроился джуном в небольшую компанию. 
Только джун, а уже других критикуешь?Комментариев, разумеется, нет, потому что "код должен быть самодокументированным".
Это нормально как раз.
Если ты прям уверен, что так все плохо, а ты реально джун - вали в другое место.
Учиться на говне не нужно.
Вопрос: Yii2 Как подключать библиотеки которых нет на packagist?

Лучший ответ:
Допустим есть некий API враппер с кодом на github.
Отсутствует на packagist, подключить через composer я его не могу.
да что вы говорите.... RTFM

Худший ответ:
Отсутствует на packagist, подключить через composer я его не могу.
Почему не можете? отсутствие расширения на packagist еще не означает что композер не сможет его загрузить. Для того чтобы composer искал расширение на Вашем репозитории достаточно в файле composer.json прописать repositories, например:{
    "name": "MyApp",
    "description": "MyApp",
    "homepage": "",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        // список ваших расширений
    },
    "require-dev": {
       // список ваших расширений
    },
    "repositories": [
        {
            "type": "git",
            "url": <ссылка на Ваш репозиторий>
        },		
    ],
}
Вопрос: Empty tag doesn't work in some browsers (Vue, Jetbrains)?

Лучший ответ:
Это из-за того что тег не закрытый, в вашем случае: <textarea v-model="data.value" />
можно заменить на:<textarea v-model="data.value"></textarea>
и предупреждение исчезнет.
Но так вы не будете пользоваться классной возможностью Vue файлов, которая позволяет делать теги пустыми.
Обходной путь для PHPStrom / WebStrom: 1) Откройте это меню (например, Ctrl + A и там в вкладке All введите сообщение ошибки)2) Справа, там где select для Severity (строгость), выберите такой вариант: 

Худший ответ:
Скорее всего ругается на некорректный атрибут v-model="data.value" 
Обычно обращение к данным компонента происходит через объект $data
Данные компонента дублируются как свойства самого компонента и обращаться к ним обычно this.value вместо this.$data.value, в html шаблона this обычно не пишут.
Должно быть как то так: <textarea v-model="value"></textarea>
Вопрос: Нормально ли подключать БД для таких манипуляций?

Лучший ответ:
Я бы Redis взял для этой цели.

Худший ответ:
Я бы Redis взял для этой цели.
Вопрос: Есть ли аналог decimal типа данных в си++?

Лучший ответ:
Использовать библиотеки для больших/длинных чисел.

Худший ответ:
128-битный флоат
 Не знаю увы есть ли такое в STL, не нашел на плюсы.
Вопрос: Как можно отключиться адаптивность у верстки?

Лучший ответ:
Установить тэг viewport с фиксированной шириной,
например:<meta name="viewport" content="width=1100" />

Худший ответ:
Удалить брейкпоинты.
Вопрос: Как получить доступ к audio vk api?

Лучший ответ:
Нельзя обойти. Подробнее.
Хотя.. можно попробовать прикинуться клиентом Kate Mobile (получить токен от имени их приложения). Им даны права на доступ к методам audio.*

Худший ответ:
http://api.я.ws/  (0.01$ за 1000 запросов)
Загружают песни к себе на сервер, отдают ссылку с лайфтаймом в сутки.
Чтобы нивелировать рекламу (сервис не мой, но все же платный), вот мой ключ, только для личных нужд пользуйтесь, по совести:Ключc7d840a0b022579793a667444c719778
(На балансе около доллара, я его так и не смог потратить).
Вопрос: Как правильно пользоваться шрифтами от гугла?

Лучший ответ:
Таким способом вы подключите только regular шрифт. На сайте google fonts при добавлении шрифта, есть ещё пункт customize где вы можите настроить начертания и т.д.
Вот пример:<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i&amp;subset=cyrillic,cyrillic-ext" rel="stylesheet">
В CSS используйте font-weight и font-stylefont-family: 'Roboto', sans-serif;
font-weight: bold;
font-style: italic;
и т.д.

Худший ответ:
Просто указываете начертание.body {
font-family: 'Roboto', sans-serif;
}

.class {
font-weight: bold;
font-style: italic;
}

.class2 {
font-weight: 300;
}
и т.д
Вопрос: Laravel 5.3: как заменить встроенный Twitter Bootstrap на другой CSS фреймворк (Semantic UI)?

Лучший ответ:
Laravel - серверный фреймворк, который никак не работает с HTML. Тем более, в него не встроен Bootstrap.
Скорее всего вас сбивает с толку папка "bootstrap" в корне проекта. Формально, там хранится кэш ваших view, и сгенерированный autoload для запуска приложения. Точка входа, иными словами.
Все, что вам надо трогать в плане разработки - папки app, config, database, routes, и resources.
app - тут все ваши модели, контроллеры, эвенты, и т.д. 
config - конфиги
database - миграции и сидеры
routes (5.3+) - файлы с роутами
resources - ваши представления (views)
Ну и папка public - точка входа (index.php), и .htaccess
Именно в эту папку вы можете складывать все html фреймворки, и попросту работать с ними.
Так же, вас могло спутать то, что при вызове метода artisan make:auth создаются представления, использующие bootstrap. Попросту перепишите шаблон этих представлений (resources/view/auth) под свои нужды.
Удачи в начале вашего пути.

Худший ответ:
создаете view мастер шаблон, и туда что угодно подключаете хоть бутстрап хоть что еще.
Вопрос: Какой наиболее «ремонтопригодный» движок на PHP для интернет-магазина?

Лучший ответ:
Из тех что я видел в самый толковый код у PrestaShop + они постепенно внедряют Symfony
Битрикс\Netcat\Magento слишкод дорогие
Webasyst Shop-Script - много говнокода, но в принципе терпимо + много бесплатных плагинов
ReadyScript - неплохой код, но с реализацией перемудрили - без ide и пол стакана не разберешься...
Остальные популярные вообще лютое говно и треш :( Перелопатил пол списка, но так ничего толкового не нашел
Робокасса прикручивается довольно просто, для примера, плагин Webasyst.

Худший ответ:
OpenCart с русской локализацией ocStore.
Простой чистый нативный код. 
Большое комьюнити. Много плагинов.
Хорошо работает с большим количеством товаров и категорий. Самый большой с которым работал 17тыс категорий и 9 тыс товаров. Легко интегрируется с 1с.
Вопрос: Где у меня ошибка (php)?

Лучший ответ:
Тернарный оператор в первых двух строках неправильно оформлен. Не закрыт if.if ($_POST['name_contact_home'] && $_POST['email_contact_home']) {
mail('моя почта@gmail.com', 'Тема сообщения' , 'Имя: ' . $_POST['name_contact_home'] . ' Email: ' . $_POST['email_contact_home']);
}
Должно работать. А тут можно почитать про тернарный оператор

Худший ответ:
Если уж проверять есть ли переменные, то хотя бы используйте функцию isset()
Найдите в сети исходник обычной формы отправки, и посмотрите как устроено, а то это велосипед.
Например на: Github
Вопрос: Как реализовать версионность данных на EntityFramework CodeFirst (метод таблиц-версий, подход TPC)?

Лучший ответ:
Вы уверены, что надо этим мучать EF? Я думаю, версионирование данных это один из кейсов, когда стоит применить триггеры, а не поднимать версионность на уровень объектной БД.

Худший ответ:
Косяк EF видимо, у меня в ASP.Net Core (SQLite), EF в миграции сначала удаляет все индексы, потом создает вновь, причем для таблицы которая в модели не изменилась. Правьте руками миграции.
Вопрос: Зачем дизайнеру подстраиваться под верстальщика в случае с Bootstrap?

Лучший ответ:
Есть еще понятие производительности. Верстальщику переходить на неформат? Это затратно по времени, и не имеет смысла в 90 с лишним процентов случаев. 
Тем более Bootstrap адаптивный по сути своей. На респонсивных размерах тоже сетку переписывать?

Худший ответ:
Потому что 12 колонок - это самый оптимальный вариант, лучше просто нет. Альтернатива - только 24 колонки. Все остальное - извращение. Только 12 (и 24) нацело делится на 2, 3, 4 и 6. А веб-дизайн - это во многом ремесло. Недаром хороший дизайнер должен уметь верстать.
Если количество колонок иное, то сетка будет уже не от буцтрапа, максимум, миксины от него.
Вопрос: Что это за кружок на Android?

Лучший ответ:
В прошивке Flyme 6.3.0.0G появляется полупрозрачная кнопка, повторяющая (заменяющая) часть функций mTouch (Домой/Назад/Сканер отпечатков), если включились "Настройки->Спец. возможности->Умные жесты". Или настроить можно, или отключить!

Худший ответ:
По словам отца, что-то в СЦ нажали в настройках - заработал *звук* на телефоне и это "пятнышко" исчезло.
Сказали что у этого Meizu (M3 Note) чувствительный экран и возможно с этим дело было связано
Вопрос: Не работает line-height, почему?

Лучший ответ:
Короче решил проблему. Проблема была в том что DOCTYPE html не был выведен в первую очередь, вместо него сначала шли php-шные echo со всякой шнягой.

Худший ответ:
item у вас скорее всего центрируется не из за line-height а из за vertical-align: middle; 
а значит нужно проблему искать в родителях
Вопрос: Как убрать плавающую точку в значении температуры с датчика в Ардуино?

Лучший ответ:
Бред и про sprintf() и про String.
А нужно скорее всего просто 
Serial.println(1.23456, 0) выводит "1"
0 - число выводимых знаков после запятой.

Худший ответ:
конвертируй число с плавающей запятой в массив байт и передавай последовательно с помощью Serial.write(). На той стороне собирай и конвертируй обратно. Вот тип данных для конвертации:union cvt {
float val;
unsigned char b[4];
} x;

На отправителе:
x.val = 22.2;
x.b - здесь будет массив байт для передачи
На принимающем наоборот, присваивай x.b считывай x.val как число
Вопрос: Как логически разбить цены на 5 диапазонов, если цены больше 5?

Лучший ответ:
Но вариант не подошел, не всегда может правильно группировать.
Так и хочется ответить "42".
Судя по постановке вопроса вы и сами не знаете "как правильно" группировать. Для начала определитесь для себя, как выглядит "правильно отсортированный результат". для начала в частных случаях, потом в общем виде (алгоритмически).

Худший ответ:
Но вариант не подошел, не всегда может правильно группировать
Назвал все буквы - не смог прочитать слово :D
Вопрос: Как в PHP динамически создать страницу в зависимости от url?

Лучший ответ:
RewriteCond %{REQUEST_FILENAME} !-f
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule .* index.php [L,QSA]
Так как точка входа одна в приложение, создай свой класс(функцию) роута и парси реквесты которые приходят ну и выдавай то что хочешь.
Это для обучения и понимания как что работает но лучше воспользуйся готовыми решениями например как это FastRout

Худший ответ:
Юзай Laravel
Вопрос: Как победить кеш браузера после загрузки новой картинки?

Лучший ответ:
Добавлять в конец имени файла случайные циферки.
img.png?352637362
Динамически менять содержимое src img на новый url, можно даже целиком поменять тег img с помощью innerHTML
Если выдача изображения осуществляется динамически допустим с помощью php то пожно прописать перед выдачей заголовки header(отмена кэширования);

Худший ответ:
путь к изображению менять все равно придется. к примеру хорошая практика писать в виде img/avatar.png?ver-2
Вопрос: Upwork не пускает, что делать?

Лучший ответ:
Создал теперь новый аккаунт все заполнилКатегорически запрещено правилами Upwork.
Наказание за это - вечный бан.

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

Лучший ответ:
Непростая, но реализуемая.
Я бы хранил смещение от начала дня чтобы задать время отправления/прибытия в конкретный день
Храните где угодно - это не принципиально, ваш код модели должен уметь получить данные из того файла где ВАМ удобнее хранить
БД реляционная результаты выдаст быстрее и для диплома здесь бы хватило с крышей
Захотите вывести в таблицу ворда или чего еще - это уже чуть другая задача
Считывать из ворда / экселя - бред - долго читать, долго комбинировать, долго искать, а еще надо будет кешировать, оптимизировать - нафиг надо.
Для диплома запользуйте реляционную БД которую знаете.
Вы храните маршруты с временем прибытия/отправления, временем в пути, временем стоянки и все что необходимо в таблице "маршруты".
К маршрутам привязываются станции, где будут остановки.
Если человек хочет уехать сегодня - он выбрал метку времени, выбрал свою станцию, выбрал куда хочет попасть.
Дальше у вас будет задача найти все соответствия и написать сложную функцию подсчитывающую результативность выбора с той или иной стороны оценки - что-то будет дешевле (3 разных автобуса но зато за 10 рублей), что-то будет быстрее(за час например), что-то будет удобнее (сел ночью, утром на месте).
Задача не из простых, но когда сделаете сможете чуть ли не торговые маршруты считать, задача продается людям которые часто сигают через границу в соседнюю страну за покупками, задача продается игроманам космических игр, задача продается компаниям типа яндекса, но они не купят, у них своих головастиков с крышей.

Худший ответ:
На веб морде сделайте таблицу, и выдавайте в нее результаты с бд. 
Нужен к примеру config.php с содержанием:<?php
$db = mysql_connect("localhost","root","");
mysql_select_db("dbname",$db);
?>
вывод на страницу:<?php
include 'config.php';
?>
<table>
      <thead>
        <tr>
          <th>Значение1</th>
          <th>Значение2</th>
        </tr>
      </thead>
      <tbody>
      <?php
  $q = mysql_query("SELECT * FROM tablename");
 while($res = mysql_fetch_array($q))
 {
echo "<tr>
  <td>$res[name1]</td>
  <td>$res[name2]</td>
</tr>";
 }
       ?>
     </tbody>
     </table>
Вопрос: Можно ли сделать такой элемент из макета в SVG?

Лучший ответ:
я в шоке, в 2к18-м резать макет и вставлять картинками? средствами css всё это можно легко реализовать

Худший ответ:
карамельный дизайн образца середины нулевых, такое нечасто сейчас встретишь.
наверное в таком случае верстать "как тогда" - это нормально :)
полукруглые блики на кнопке и блоке можно сделать радиальным градиентом, низ блоку тоже им можно срезать, хотя и некрасиво.  а вот блик по верху блока чистым css не сделать, да и не нужно.
Вопрос: В какой фаервол Вы обернули Windows?

Лучший ответ:
Штатный. С момента выхода Windows Vista ничего более и не нужно.
Сейчас уже на Win 10 сижу
Но со времен Win Vista и по сегодня ничегошеньки не словил.
И антивирус - тоже только штатный.
Никаких Касперских и пр.

Худший ответ:
Я использовал mikrotik и zyxel zywall. 
Все одинаково хорошие если настроены правильно. Встроенный в Виндовс ничем не хуже других.
Вопрос: Почему фрилансеры готовы общаться только в чате?

Лучший ответ:
Всё просто. В 99% ситуаций общения голосом, желают типичные "гуманитарии", которые от темы разработки бесконечно далеко. Ты им говоришь "напишите ТЗ", а они в ответ "давайте я лучше вам всё по телефону расскажу". Они думают если не разбираются в вопросе и не могут ТЗ написать, то уж голосом точно всё объяснят как надо.  И не дай бог вам согласиться (а просят как правило настойчиво, ибо самим лень разбираться в вопросе и что-то писать), вынесут вам мозг по полной.

Худший ответ:
Это мошенники, которые хотят на деньги кинуть.
Вопрос: Чем отличается FOR от WHILE?

Лучший ответ:
В чем разница как выводить, если результат один?технически разницы никакой, разница только в семантике:for(буквально "для") - применяется когда нужно что-то выполнить в определенном диапазоне. то есть на человеческом языке это будет звучать примерно как: "для такого диапазона мы делаем что-то".while(буквально "пока") - применяется когда нужно что-то выполнять неопределенное кол-во раз до выполнение конкретного условия. то есть на человеческом языке это будет звучать примерно как: "делать что-то пока не выполнится условие".

Худший ответ:
Вот еще аналог<?php
$number = 0;
do {
    echo '10 опять выведу<br>';
    $number++;
} while ($number < 10);
?>
разные приемы, в каждом конкретном случае будет проще использовать тот или иной прием
Вопрос: Почему в бд записываются нули?

Лучший ответ:
у вас 2 инсерта в коде.
один вставляет ИД, другой имена. Все правильно в базе. Ровно по вашему алгоритму)

Худший ответ:
проблема в Вашем коде в том, что в выполняете 2 операции вставки :
 - mysqli_query($db_connect, "INSERT INTO `users` (`id`) VALUES ('$id')"); 
вставляет запись с заполненным полем id, и пустым полем имени , поскольку значение для вставки в поле  не указано
- предпоследняя строка кода вставляет в таблицу запись с неуказанным значение поля id (по умолчанию заполняется 0) и занчение имени.
Вам надо за одну операцию вставки записывать значения обеих полей.
ту строку, где первая вставка записи с ид закоментируйте или удалите,
а предпоследнюю перепишите примерно так:$query = mysqli_query($db_connect, "INSERT INTO `users` (`id`, `names`) VALUES ('$id', '$first_name $last_name')");
        }
Вопрос: Как переписать данные с проблемного HDD?

Лучший ответ:
Не в софте дело. Диск неисправен. Скопировать самые важные данные и распрощаться с диском.
Можно копировать посекторно (все 320гб диска), например, через WinHex. Но не думаю, что будет стабильнее. Как только диск натыкается на нечитаемый сектор, он запинается в попытках его прочесть. Отсюда и зависания.
Это ещё повезло, что хоть как-то копируется. В большинстве случаев, диск просто дохнет и перестает определяться. Вообще.

Худший ответ:
Взять Clonezilla. Копировать по секторно на другой хард. Скорее всего там есть галочка близкая по смыслу "продолжать, если ошибка чтения". 
Если нет, то берем любой linux-live cd, грузимся с него, запускаем терминал  и даем в консоли
dd if=/dev/sda of=/dev/sdb bs=64K conv=sync,noerror
где
sda - глючный хард откуда копируем
sdb - куда копируем
П.С. 
таким макаром можно клонировать любые системы
Вопрос: Что такое протокол передачи данных?

Лучший ответ:
Протокол - это действительно набор соглашений. Он нужен для того, чтобы две программы могли передавать друг другу данные или команды. Описан протокол может быть только в документации.
Например, азбука Морзе - это тоже протокол и когда мужик на улице к вам подходит и два пальца к губам подставляет, потому что вы в наушниках и всё-равно про сигарету не услышите - это тоже протокол. Поэтому, "жить" он может только в сознании тех, кто им пользуется.
Или URL на сайте - это тоже, в общем-то, протокол. Сервер говорит: "Пнёшь по http адрес Что такое протокол передачи данных?, я тебе отдам содержимое страницы" и действительно, когда вы переходите по этому адресу, вот он - ваш вопрос. Вы с сервером так договорились. Галстук на двери в общаге - это тоже протокол (и не советую вам его нарушать).
А ещё в Википедии есть вот такое определение:Дипломатический протокол — совокупность общепринятых правил, традиций и условностей, соблюдаемых правительствами, ведомствами иностранных дел, дипломатическими представительствами, официальными лицами в международном общении.
И оно тоже очень хорошо подходит к вашему вопросу, на самом деле. Когда послу США в России, например, требуется какая-то информация, он не может просто смску отправить Сергею Лаврову, он должен послать официальный запрос. Чем не протокол передачи данных?
Ещё протокол можно сравнить с алфавитом или словарём. Протокол "живёт" там же, где и алфавит.

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