File tree Expand file tree Collapse file tree 1 file changed +45
-5
lines changed
docs/3-web-servers/04-server Expand file tree Collapse file tree 1 file changed +45
-5
lines changed Original file line number Diff line number Diff line change @@ -251,14 +251,54 @@ app.listen(3000);
251251
252252## 課題
253253
254- - Express を用いて、` あなたは n 人目のお客様です。 ` とレスポンスする Web サーバーを作成してください。` n ` はアクセスされるたびに 1 ずつ増えるようにしてください。
255- - (重要) アクセスされた時刻をウェブサーバー側で求めて表示するウェブサーバーと、ブラウザに求めさせるウェブサーバーをそれぞれ作成してください。
256- - この 2 つの違いは何でしょうか。どういった場合にどちらの手法を使うのが適切でしょうか。
254+ ### 訪問者カウンター
257255
258- 解答例 1:
256+ Express を用いて、` あなたは n 人目のお客様です。 ` とレスポンスする Web サーバーを作成してください。` n ` はアクセスされるたびに 1 ずつ増えるようにしてください。
257+
258+ <Answer title = " 訪問者カウンター" >
259+
260+ ``` javascript
261+ let count = 0 ;
262+ app .get (" /" , (request , response ) => {
263+ count += 1 ;
264+ response .send (` あなたは${ count} 人目のお客様です。` );
265+ });
266+ ```
259267
260268<ViewSource url = { import .meta .url } path = " _samples/nth" />
261269
262- 解答例 2:
270+ </Answer >
271+
272+ ### サーバー側とクライアント側
273+
274+ (重要) アクセスされた時刻をウェブサーバー側で求めて表示するウェブサーバーと、ブラウザに求めさせるウェブサーバーをそれぞれ作成してください。また、この 2 つの違いは何でしょうか。どういった場合にどちらの手法を使うのが適切でしょうか。
275+
276+ <Answer title = " サーバー側とクライアント側" >
277+
278+ ``` javascript
279+ app .get (" /" , (request , response ) => {
280+ response .send (`
281+ <!doctype html>
282+ <html lang="ja">
283+ <head>
284+ <meta charset="utf-8" />
285+ <title>Title</title>
286+ </head>
287+ <body>
288+ ${
289+ // この部分はサーバーサイドで実行されます
290+ new Date ().toString ()
291+ }
292+ <script>
293+ // この部分はクライアントサイドで実行されます
294+ document.write(new Date().toString());
295+ </script>
296+ </body>
297+ </html>
298+ ` );
299+ });
300+ ```
263301
264302<ViewSource url = { import .meta .url } path = " _samples/server-or-client" />
303+
304+ </Answer >
You can’t perform that action at this time.
0 commit comments