Представь, что ты заказываешь пиццу по телефону. Ты звонишь, говоришь, что хочешь, а тебе отвечают: «Принято, привезём через полчаса». Произошёл обмен: ты попросил — тебе ответили. Программы общаются между собой точно так же. Одна о чём-то просит, другая отвечает.
Одна просит — другая отвечает
В мире программ почти всё устроено по одному принципу. Есть тот, кто спрашивает, и тот, кто отвечает.
Возьмём приложение погоды у тебя в телефоне. Откуда оно знает, что на улице сегодня +18? Оно этого не знает само. Когда ты открываешь приложение, оно отправляет вопрос специальному сервису погоды где-то в интернете: «Какая температура в этом городе?» Сервис смотрит и присылает ответ: «+18». Приложение получает ответ и красиво показывает его тебе.
То же самое происходит постоянно и незаметно: когда ты смотришь видео, проверяешь почту или листаешь ленту — твоё приложение всё время о чём-то спрашивает другие программы и получает ответы.
Общение идёт по правилам
Чтобы два человека поняли друг друга, им нужен общий язык. С программами так же: чтобы они договорились, нужны общие правила общения. Такие правила называют протоколом.
Протокол — это как этикет телефонного разговора. Сначала здороваешься, потом говоришь, что хочешь, потом слушаешь ответ. Если бы каждый говорил как попало, ничего бы не вышло. Правила нужны, чтобы спрашивающий и отвечающий точно понимали друг друга.
Главный протокол, по которому общаются программы в интернете, называется HTTP. Именно ему посвящён следующий урок — там разберём, как выглядит «вопрос» и «ответ» по этому протоколу.
Попробуй
Задания в терминале здесь нет — этот урок про понимание. Открой любое приложение на телефоне и подумай: где оно может что-то спрашивать у других программ? Лента новостей, курс валют, карта города — всё это приходит откуда-то по сети. А дальше мы узнаем, на каком языке устроены эти «вопросы» и «ответы».