Содержимое
По принципу Баадер-Майнхоф, вопрос "Что происходит, когда вы набираете google.com" не отпускает. Шутки-шутками, но тут можно поговорить на серьёзную тему: про абстракции. Ведь в этой картинке шутка в чем: никто не ожидает услышать в ответ на этот вопрос рассказ о таких глубоких уровнях реализации, как скан-коды клавиатуры (а если она USB — можно ещё и про потоки данных рассказать, стандарт USB довольно интересно устроен с точки зрения передачи данных — как маленькая сеть с иерархической топологией, и с разными режимами передачи пакетов данных). Даже в видео из предыдущего поста, на мой взгляд, чересчур подробно расписаны взаимодействия в процессе установки соединения TLS — аналитики в это обычно не погружаются. Между тем, если абстрагироваться от устройства компьютера и ОС, а рассмотреть только сетевое соединение, остаются 7 уровней абстракции по модели OSI (никто не помнит все 7): от физического уровня — как электрончики бегают — до прикладного (собственно, протокол HTTP, например). В модели TCP/IP уровней всего 4 (над физическим), легче запомнить: уровень передач пакетов в одной сети (link), уровень передачи между сетями (internet), уровень транспорта — как эти ваши пакеты собирать, что вам, например, важнее — надежность доставки (TCP) или своевременность (UDP), и, наконец, уровень приложений — что мы вообще передаем: файлы, гипертекст? Тут мы опять останавливаемся в лучшем случае на уровне приложений, а то и выше — SOAP и GraphQL — это надстройки на HTTP. Собственно, абстракции хороши чем — можно не думать, как они внутри устроены, а просто ими пользоваться. Ну, до какого-то предела. Пока абстракция не начинает протекать.