Створення веб-сервера HTTP в Node.js: посібник із прикладом коду
Фреймворк Node.js здебільшого використовується для створення серверних програм. Фреймворк можна легко використовувати для створення веб-серверів, які можуть надавати вміст користувачам.
Існують різноманітні модулі, такі як «http» і «request», які допомагають обробляти запити, пов’язані з сервером, у просторі веб-сервера. Ми розглянемо, як ми можемо створити базову програму веб-сервера за допомогою Вузол js.
Вузол як веб-сервер за допомогою HTTP
Давайте розглянемо приклад того, як створити та запустити нашу першу програму Node js.
Наша програма збирається створити простий серверний модуль, який слухатиме порт № 7000. Якщо запит зроблено через браузер на цьому порту №, тоді серверна програма надішле клієнту відповідь «Hello World».
Пояснення коду
- Основна функціональність функції require полягає в тому, що вона читає a JavaScript файл, виконує файл, а потім повертає об’єкт експорту. Отже, у нашому випадку, оскільки ми хочемо використовувати функціональність модуля http, ми використовуємо функцію require, щоб отримати потрібні функції з модуля http, щоб його можна було використовувати в нашій програмі.
- У цьому рядку коду ми створюємо серверну програму, яка базується на простій функції. Ця функція викликається кожного разу, коли надходить запит до нашої серверної програми.
- Коли запит отримано, ми кажемо надіслати відповідь із типом заголовка «200». Це число є звичайною відповіддю, яка надсилається в заголовку http, коли клієнту надсилається успішна відповідь.
- У самій відповіді ми надсилаємо рядок «Hello World».
- Потім ми використовуємо функцію server.listen, щоб наш серверний додаток слухав запити клієнта на порту № 7000. Ви можете вказати будь-який доступний порт тут.
Якщо команда виконана успішно, під час запуску коду в браузері буде показано наступний результат.
Вихід
З виходу,
- Ви можете чітко побачити, що якщо ми перейдемо до URL-адреси localhost на порту 7000, ви побачите на сторінці рядок «Hello World».
- Оскільки в нашому коді ми згадали, що сервер прослуховує порт № 7000, ми можемо переглядати вихідні дані під час перегляду цієї URL-адреси.
Ось код для довідки
var http=require('http') var server=http.createServer((function(request,response) { response.writeHead(200, {"Content-Type" : "text/plain"}); response.end("Hello World\n"); })); server.listen(7000);
Обробка запитів GET у Node.js
Зробити запит GET для отримання даних з іншого сайту в Node.js відносно дуже просто. Щоб зробити запит Get у вузлі, нам спочатку потрібно встановити модуль запиту. Це можна зробити, виконавши наступний рядок у командному рядку
запит на встановлення npm
Наведена вище команда вимагає від менеджера пакетів Node завантажити необхідні модулі запитів і встановити їх відповідно.
Коли ваш модуль npm буде успішно встановлено, у командному рядку буде показано ім’я та версію встановленого модуля: @ .
На наведеному вище знімку ви бачите, що модуль запиту разом із номером версії 2.67.0 було завантажено та встановлено.
Тепер давайте подивимося код, який може використовувати цю команду "request".
Пояснення коду
- Ми використовуємо модуль запиту, встановлений на останньому кроці. Цей модуль має необхідні функції, які можна використовувати для надсилання запитів GET до веб-сайтів.
- Ми робимо запит GET на www.google.com і згодом викликаємо функцію, коли отримуємо відповідь. Після отримання відповіді параметри (помилка, відповідь і тіло) матимуть такі значення
- Помилка – якщо під час використання запиту GET виникає будь-яка помилка, вона буде записана тут.
- Відповідь – відповідь матиме заголовки http, які надсилаються у відповідь.
- Тіло – тіло міститиме весь вміст відповіді, надісланої Google.
- У цьому випадку ми просто записуємо вміст, отриманий у параметрі body, у файл console.log. Тож, по суті, все, до чого ми прийдемо www.google.com буде записано в console.log.
Ось код для довідки
var request = require("request"); request("http://www.google.com",function(error,response,body) { console.log(body); });
Підсумки
- Фреймворк Node.js можна використовувати для розробки веб-серверів за допомогою модуля «http». Програму можна змусити слухати певний порт і надсилати відповідь клієнту щоразу, коли до програми надходить запит.
- Модуль «запит» можна використовувати для отримання інформації з веб-сайтів. Інформація міститиме весь вміст веб-сторінки, яку запитують на відповідному веб-сайті.