JavaRush /Курси /Claude Code SELF /Як улаштований інтернет: деплой

Як улаштований інтернет: деплой

Claude Code SELF
Рівень 5 , Лекція 2
Відкрита

1. «Працює в мене» ≠ «відкривається в усіх»

— Дивись: у тебе саме та класика, — Льоха заходить не з термінів, а з того, що Тьома вже пережив зранку. — Зібрав сторінку — у браузері краса. Скидаєш комусь «заціни» — а він: «не відкривається». Знайомо?

— Прямо сьогодні, — Тьома морщиться. — У мене є лендинг, а для Антона його наче й немає.

— От. І це не глюк, а закон. «Працює в мене» і «відкривається в усіх» — це дві цілком різні речі. Поки ти цього не розділив, фраза «викласти сайт в інтернет» для тебе — порожній звук, просто набір слів.

— Ну так а де він має лежати, щоб у всіх? — Тьома не розуміє. — Не в мене на ноуті — а де?

— Оце правильне питання. З нього й почнемо розбирати, що взагалі таке інтернет. Після цього «викласти» перестане бути магією.

2. Сервер — це просто завжди увімкнений компʼютер

— Головне слово тут — сервер. Тьома, забудь страхітливе. Сервер — це не загадкова коробка з лампочками. Це просто компʼютер, який завжди увімкнений і тримає файли доступними для інших людей.

— Завжди увімкнений? Прямо зовсім?

— Зовсім. У цьому весь сенс. Твій ноутбук ти ввечері закрив, у сумку поклав, додому заніс — все, він спить, він із тобою. Роздати сайт він нікому не може. А сервер стоїть десь у дата-центрі, гуде собі цілодобово, і будь-яка людина в будь-який момент може до нього звернутися й забрати файли. Він для того й існує — бути на звʼязку, коли тебе немає.

— Стоп, — перебиває Тьома. — Не сходиться. Я ж у месенджері другу картинку кидаю — і вона доходить. Мій телефон йому її і віддає. Навіщо тут ще якийсь сервер.

— А от тут ти й попався, — Льоха явно радий питанню. — Думаєш, картинка летить із твого телефона прямо йому в руки? Ні. Спершу вона завантажується на сервер месенджера, і вже звідти — йому. Тому ти можеш надіслати картинку, вимкнути телефон і піти спати, а друг відкриє її через дві години й усе одно отримає. Якби вам обом треба було бути в мережі одночасно, нічого б не працювало. Сервер для того й стоїть посередині: завжди увімкнений, завжди готовий віддати.

— Тобто й там, де я думав, що все працює без жодного сервера, — він усе одно є.

— Завжди є. Просто його не видно. Тому запамʼятай головне: щоб сторінку бачили всі й завжди, її файли мають лежати не на твоєму ноутбуці, а на сервері — на машині, яка ніколи не вимикається. Ось і вся завʼязка.

Тьома переварює. Раніше він думав про інтернет як про якийсь спільний хмарний простір, куди речі потрапляють самі. А виявляється — це просто інший компʼютер, який не спить. До дивного приземлено.

3. Дві адреси: цифри для машин, імʼя для людей

— Оскільки серверів багато, до потрібного треба якось звернутися. За адресою, — продовжує Льоха. — І адрес, уяви собі, два види. Але це та сама пара, як у звичайного будинку.

— А навіщо аж дві? — не розуміє Тьома. — Одна ж простіше.

— Тому що одна для машин, а інша для людей. Перша — IP. Це числова адреса, на кшталт 192.0.2.1. Точна, але для людини — просто набір цифр. Компʼютери між собою спілкуються саме так, їм букви не потрібні.

— Ну цифри так цифри. А друга тоді яка?

— Друга — домен. Людське імʼя сервера, на кшталт javarush.com. Його легко запамʼятати, легко набрати. Це як вивіска. Ти ж не кажеш другові: «Зустріньмося біля будівлі за координатами пʼятдесят сорок пʼять, тридцять пʼятдесят два». Ти кажеш: «Біля кавʼярні «Чіка» на розі». Домен — та сама вивіска, лише замість координат.

— Почекай, а як вони між собою повʼязані? — чіпляється Тьома. — Імʼя і цифри.

— За лаштунками домен автоматично перетворюється на IP. Ти набираєш зручне імʼя, а під капотом воно розгортається в ті самі цифри, за якими машини знаходять одна одну. Тобі достатньо знати імʼя — решта робиться само.

4. Path — який саме файл на сервері

— Ще одне слово, і з адресами закінчимо. На сервері зазвичай лежить купа файлів. Як сказати, який саме потрібен? До адреси додають path — шлях.

Льоха показує на екрані три рядки підряд:

192.0.2.1                      # IP — числова адреса сервера
example.com                    # домен — те саме місце, але з людським імʼям
example.com/home/about.html    # path — який саме файл на цьому сервері

— Повертаємося до будинку, — продовжує Льоха. — Домен — це будівля. А path — конкретне місце всередині будівлі. example.com/home/about.html читається так: «на сервері example.com відкрий файл home/about.html». Тобто адреса сайту — не магічний рядок, а дві зрозумілі частини: чиє це місце і куди саме всередині йти.

— А цей home/about.html — він звідки береться?

— А це буквально шлях до файла на диску сервера. Так спочатку й було задумано: на сервері папка home, у ній файл about.html, і за адресою ви прямо на нього потрапляєте. У сучасних сайтів багато файлів на льоту генеруються, але логіка та сама — адреса файла веде до конкретного місця, як папка на вашому компʼютері.

Тьома сам підводить підсумок, за звичкою:

— Тобто домен — це імʼя компʼютера в мережі, а path — що саме там взяти і де.

— Спрощено, звісно, але все правильно.

5. Хостинг — сервер напрокат

— Так, стоп, — Тьома напружується. — Сервер, дата-центр... у мене немає жодного сервера в дата-центрі. І грошей на нього немає. Як я тоді це викладу?

— А от тут хороша новина, — Льоха явно чекав цього. — І не треба. Є хостинг. Це сервіс, який бере всю серверну частину на себе. Дивись, як просто: ви віддаєте йому свої файли — свою сторінку. Він кладе їх на свій сервер, той самий, що завжди увімкнений. І повертає вам публічне посилання. Все.

— І все? Жодного адміністрування?

— Жодного. Не треба будувати дата-центр, не треба ставати системним адміністратором, не треба нічого налаштовувати в залізі. Для простої статичної сторінки на кшталт твого лендингу є безплатні хостинги: віддав файли — отримав посилання — готово. І це посилання вже можна надсилати кому завгодно. Антон відкриє з телефона, замовник відкриє зі свого, хто завгодно відкриє.

У Тьми помітно розслабилися плечі. Найнеприємніше слово — «сервер у дата-центрі» — виявилося чужим клопотом. Його справа — віддати файли й забрати посилання.

6. Деплой — викладаємо файли назовні

— І тепер — головне слово дня, заради нього все й затівалося. Деплой. Від англійського deploy. Простими словами, ви копіюєте свої файли туди, де вони доступні не лише вам — із вашого ноутбука на сервер хостингу.

— Копіюєте, — повторює Тьома. — Тобто файл буквально копіюється кудись у дата-центр?

— Копія файла завантажується і зберігається на завжди увімкненій машині. І ось тепер повернімося до твоєї ранкової загадки. Чому в тебе працює, а в Антона ні? Тому що поки сторінка лежить тільки на твоєму ноутбуці — вона доступна лише вам. Антон у твій компʼютер залізти не може, і це добре. А щойно ти зробив деплой — скопіював файли на хостинг — сторінка опинилася на сервері з публічною адресою. І тепер її відкриває будь-хто.

Льоха виводить на екран те саме розрізнення, яке Тьома зранку намацав інтуїтивно, а тепер бачить словами:

«Працює в мене (локально)»  ≠  «відкривається в усіх (назовні)»

— Запамʼятай це міцно, це просто, але важливо. Локально — це на твоїй машині, для тебе одного. Назовні — це на сервері, для всіх. А деплой — міст між цими двома станами. Саме його ти сьогодні й побудуєш. Викладеш лендинг так, що Антон відкриє посилання зі свого телефона.

Тьома дивиться на стрілочку між «локально» й «назовні» та розуміє, що вся ранкова паніка крутилася навколо цього одного містка, якого він не бачив. «Викласти сайт в інтернет» перестало бути заклинанням. Це зрозуміла дія: скопіювати файли на сервер хостингу й забрати посилання для всіх. Залишилося — зробити.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ