<commit_before>常に同じテキストファイルを返す、HTTP の**サーバ**を書いてください。

サーバは最初の引数で供給されているポートをリッスンするサーバです。

二つ目の引数は、返すテキストファイルのパスです。ファイルを返すためは `fs.createReadStream()` を使わないといけません。

----------------------------------------------------------------------
## ヒント

今回は HTTP 専用サーバになりますので一般的な TCP サーバより Node.js の `http` コアモジュールを使った方がよいです。 `net` モジュールと同じく `http.createServer()` 関数があります。たたそのサーバが受信するのは `HTTP` リクエストです。

`http.createServer()` の第一引数であるリスナー関数は毎コネクション時に呼ばれます。

一般的なHTTPリクエストリスナー関数の例：
```js
function listener (request, response) { /* ... */ }
```

上記の例の二つの引数は `HTTP` のリスナーにおける代表的なものです。第一引数の `request` には HTTP のプロパティが入ります。例えば：ヘッダーやクエリ文字列。第二引数の `response` はクライアントにヘッダーやボディを返す為のオブジェクトです。

`request` や `response` は Node.js における **Stream** です！**Stream** なので、他の **Stream** 由来のシステムとの送受信にうってつけです。

`http.createServer()` はあなたのサーバのオブジェクトを返します。ポートをリッスンするためにサーバオブジェクトの `server.listen(portNumber)` を呼んでください。

一般的な Node.js の HTTP サーバはこのように記述されています：

```js<commit_msg>Update problem.ja.md<commit_after>常に同じテキストファイルを返す、HTTP の**サーバ**を書いてください。

サーバは最初の引数で供給されているポートを listen するサーバです。

二つ目の引数は、返すテキストファイルのパスです。ファイルを返すためは `fs.createReadStream()` を使わないといけません。

----------------------------------------------------------------------
## ヒント

今回は HTTP 専用サーバになるので一般的な TCP サーバより Node.js の `http` コアモジュールを使った方が良いでしょう。 `net` モジュールと同じく `http.createServer()` 関数があります。ただ、そのサーバが受信するのは `HTTP` リクエストです。

`http.createServer()` の第一引数であるリスナー関数は毎コネクション時に呼ばれます。

一般的なHTTPリクエストリスナー関数の例：
```js
function listener (request, response) { /* ... */ }
```

上記の例の二つの引数は `HTTP` のリスナーにおける代表的なものです。第一引数の `request` には HTTP のプロパティが入ります。例えば：ヘッダーやクエリ文字列。第二引数の `response` はクライアントにヘッダーやボディを返すためのオブジェクトです。

`request` や `response` は Node.js における **Stream** です！**Stream** なので、他の **Stream** 由来のシステムとの送受信にうってつけです。

`http.createServer()` はあなたのサーバのオブジェクトを返します。ポートを listen するためにサーバオブジェクトの `server.listen(portNumber)` を呼んでください。

一般的な Node.js の HTTP サーバはこのように記述されています：

```js
{'fraction_non_alphanumeric': 0.18984664198836596, 'fraction_numerical': 0.0, 'mean_word_length': 4.733333333333333, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6425883', 'n_tokens_mistral': 1258, 'n_tokens_neox': 1166, 'n_words': 124}