1. HTTPサーバ

通常、ユーザーがウェブブラウザからWebページを閲覧するとき、URLをクリックしWebページを表示していることしかわかりません。しかし、内部的にはウェブブラウザがWebページに必要なデータ(HTMLファイルやJavaScriptファイルなど)を取得し表示しています。

ユーザが操作するコンピュータをWebクライアント、Webページに必要なデータが保存されているコンピュータをWebサーバといいます。

WebクライアントとWebサーバの通信の手順やルールのことをHTTPプロトコルといい、HTTPに従って行われる通信のことをHTTP通信といいます。

WebクライアントがWebサーバにデータを要求することをHTTPリクエスト、Webサーバが要求に応じてデータを返すことをHTTPレスポンスといいます。

つまり、HTTPサーバとはHTTPというルールに従ったレスポンスを返すWebサーバのことです。

2. Node.jsでアプリケーション作成

const http = require("http");
const port = 3000;

const server = http.createServer((request, response) => {
    response.writeHead(200, {
        "Content-Type": "text/html"
    });

    const responseMessage = "<h1>Hello World</h1>";
    response.end(responseMessage);
    console.log(`Sent a response : ${responseMessage}`);
});

server.listen(port);
const http = require("http");

httpモジュールを利用します。

const server = http.createServer((request, response) => {
    response.writeHead(200, {
        "Content-Type": "text/html"
    });

    const responseMessage = "<h1>Hello World</h1>";
    response.end(responseMessage);
    console.log(`Sent a response : ${responseMessage}`);
});

レスポンスのステータスコード(200)、ヘッダー(“Content-Type”: “text/html”)、ボディ(responseMessage)を設定します。

server.listen(port);

3000番ポートを使用します。

node main.js

http://localhost:3000/にアクセスします。