Nodejs. Клієнти і сервери.

Відео: Node.js: Створення сервера

NodeJS. Клієнти і сервери.

Всім привіт! У цій статті ми трохи поговоримо про те, що таке сервер в NodeJS.

Це вступна стаття, тому що в майбутньому ми самі будемо розробляти свій власний сервер на NodeJS.

Відео: Веб-додаток на Node.js # 0: Створення сервера

Щоб написати свій сервер, ми спочатку повинні зрозуміти, що це таке, як ми отримуємо файли з інтернету і як ми їх туди завантажуємо. Тобто, кажучи іншими словами, ми повинні зрозуміти, як відбувається спілкування між клієнтом і сервером.




Припустимо, ви використовуєте який-небудь браузер, наприклад, Google Chrome, заходите на сайт і просите у нього якісь дані. Що відбувається в цей момент? На даному етапі клієнт (браузер) надсилає запит серверу, він його обробляє і відправляє клієнту відповідь. Але як вони між собою спілкуються?

Відео: Ехо-сервер на Node.JS

Для спілкування клієнти і сервери використовують протоколи. протокол - це набір правил для спілкування, які повинні дотримуватися обидві сторони при взаємодії один з одним. Найпростіший приклад з життя - це спілкування двох іноземців. Один з них, припустимо, говорить по французьки, а інший - по німецьки. Якщо кожен з них при спілкуванні буде говорити на своїй мові, то, швидше за все, вони не зможуть один одного зрозуміти. Однак є спільна мова - англійська, який вони обидва знають, і, якщо вони будуть спілкуватися на ньому, то у них вийде нормальна розмова.




Ви вже, напевно, знаєте, що кожен комп`ютер може бути визначено по своєму унікальному IP адресою. Якщо ми хочемо встановити спілкування між двома комп`ютерами, то клієнт спочатку повинен підключитися до IP адресою сервера. Він повинен відкрити, так званий, сокет між ними. По суті, сокет - це просто канал зв`язку, по якому може бути послана якась інформація. Але інформація може бути структурована по різних протоколах, наприклад, по HTTP і FTP. З нашим попереднім прикладом з життя це виглядає так: і німець, і француз знають англійську та іспанську мови, але нам потрібно вибрати, якою мовою вони будуть говорити, а який структурований іншим чином. Це все залежить від того, які дані ми хочемо відправляти. FTP служить для передачі файлів, а HTTP - для сайтів.

Отже, коли ми визначилися, який протокол нам потрібен, припустимо, HTTP, інформація відправляється по сокету між двома комп`ютерами через протокол TCP. Хоча дані і можуть бути структуровані різним спосіб (по HTTP або FTP), Вони потім відправляються з використанням протоколу TCP. TCP розбиває дані на маленькі шматочки (пакети) і відправляє їх по сокету.

Весь цей функціонал вже вбудований в комп`ютери, а NodeJS дає нам можливість отримати доступ до цього функціоналу, щоб відкрити з`єднання між двома комп`ютерами і обмінюватися між ними інформацією. Якщо ми запустимо NodeJS на сервері, то зможемо вказати йому, яку інформацію ми хочемо відправляти клієнтам, коли вони роблять якийсь запит, і це саме те, чим ми будемо займатися в наступній статті. Ми будемо створювати сервер і відправляти відповіді клієнтам (браузерам).

Відео: Node.js + Websocket протокол

Але перед цим ми повинні зробити ще одну річ, і це порти. Коли ми відправляємо запит серверу, як ми можемо дізнатися, що саме NodeJS прийняв його, а не яка-небудь інша програма, що працює на цьому ж комп`ютері? А вся справа тут якраз-таки в портах. Кожна програма на комп`ютері працює на якомусь своєму конкретний порт, тому, якщо ми вкажемо правильний IP адреса і потрібний нам порт, то можемо бути впевнені, що запит буде оброблений саме тією програмою, якою ми і хочемо.

Отже, а на цьому сьогодні все. Дякую за увагу!

Поділися в соціальних мережах:

Схожі
Nodejs. Що таке middleware і статичні файли.Nodejs. Що таке middleware і статичні файли.
Що таке long-polling, websockets, sse і cometЩо таке long-polling, websockets, sse і comet
Nodejs. Що таке pipe ().Nodejs. Що таке pipe ().
Nodejs. Що таке query strings.Nodejs. Що таке query strings.
Nodejs. Template engine. Частина 1.Nodejs. Template engine. Частина 1.
Nodejs. Модулі.Nodejs. Модулі.
Nodejs. Вступ.Nodejs. Вступ.
Що таке html5 websockets?Що таке html5 websockets?
Що таке сокет в phpЩо таке сокет в php
Nodejs. Потоковий висновок html сторінки.Nodejs. Потоковий висновок html сторінки.
» » Nodejs. Клієнти і сервери.