項 1 / 8
目的と使う場面を知る
何ができるようになるか、何のために学ぶかを確認します。
今回できるようになること
正常ページは200、存在しないページは404。設定を変えるとX-Lessonだけがafterになる。
この節で学ぶ理由と、前後の節とのつながり
このセクションの位置づけ
なぜ、今これを学ぶのか
書類ページが開きません。通信先が見つからない場合と、ページがない場合は、直す場所が違います。
この後、何につながるか
通信の仕組みを学んだら、次はサービスへのログインと、アカウントの乗っ取りを防ぐ方法を学びます。
実務では、どんな場面?
この節の本文で学んだことを、ブラウザーから自分のサーバーへ要求を送り返事を読む実習で確かめます。扱う情報は配布した架空データだけです。
読み始める前に:この節の前提と言葉
書類ページが開きません。通信先が見つからない場合と、ページがない場合は、直す場所が違います。
- 名前から通信先を調べる仕組み
- 通信のと接続相手の検証に使う仕組み
手元のスマートフォンやパソコンを端末と呼びます。ブラウザーはWebページを開くアプリです。ブラウザーが「このページをください」とメッセージを送り、相手がページのデータを返します。この相手の役割をサーバーといいます。サーバーはコンピューターを指す場合も、そこで動くプログラムを指す場合もあります。画面の中だけで済む処理と、相手にデータを頼む処理を分けて考えましょう。
送る内容と、相手から返る内容を、矢印の向きに沿って読みます。
- 手元のブラウザー:ページを要求するアプリ
- 相手のサーバー:要求に応じてデータを返す
端末の画面だけで完結せず、相手との往復があることに注目します。
- 名前を調べる
- 相手の名前を確認
- 要求を送る
- 返事を読む
例えばhttps://shop.example.test/ordersでは、shop.example.testが通信する相手の名前()、その後の/ordersが相手に頼むページや機能の場所()です。は、から通信先の番号であるを調べる仕組みです。名前を電話帳で引くことに似ていますが、見つかったサイトが信用できるかまでは判断しません。は、同じ相手の中でどのサービスと通信するかを区別する番号です。例えばでは通常443番を使い、に別の番号があればその指定を使います。このページを開く例では、でを調べ、はなどから決めます。
矢印の順に、何が行われるかを読みます。
- ホスト名:shop.example.test
- DNSで調べる:名前に対応するIPを探す
- IPアドレス:名前に対応する通信先
DNSでIPアドレスを調べます。ポートはURLの指定や、HTTPSの通常の接続先である443番などから決めます。DNSはサイトの信用を保証しません。
では、という仕組みで通信の内容をします。接続先を確かめるため、証明書の名前、有効期間、信頼する発行元からのつながりなどを確認します。その接続を通じて「ページをください」というの要求を送ります。は、データの取得を頼む操作名です。返事には結果を表す番号()と本文があります。200はその要求の成功、404は対象のページなどが見つからない場合の番号です。200でも、欲しかった内容かどうかは本文を見て確かめます。
矢印の順に、何が行われるかを読みます。
- TLSの確認:名前・有効期間・発行元のつながり
- 暗号化した通信:HTTP要求を送る
- 応答を読む:番号と本文を確かめる
TLSで相手を確かめ、通信を暗号化してからHTTPでページを頼みます。保存した情報の安全は別に確かめます。
今回のサーバーは、自分のパソコンの127.0.0.1で動きます。を直接指定するため、この実習での設定は変えません。を使い、の証明書も検査しません。前の図の・・は、一般的な通信の各段階を示しています。
実習ではPythonでサーバーを動かし、存在するページへの200と、存在しないページへの404を比べます。config.jsonのX-Lessonという追加情報を変え、起動し直して返事が変わることを確認します。ブラウザーのではのHeadersで番号と、で本文を読みます。接続できない場合と404が返った場合を区別します。
- Pythonで127.0.0.1を起動
- ページを要求する
- 200と404・追加ヘッダーを読む
別の条件で使う準備
接続できない問題と、読む権限がない問題を混同しない
- 調べるサーバー名、接続先、ページの場所を読み直します。
- DNSで名前を調べる段階、サーバーへ接続する段階、ページを頼む段階を順に確認します。
- 返事がない場合と404が返る場合で、どこまで進んだかを説明します。
ここでは実務で条件が増えた場合の考え方も紹介しました。今回の実習で操作する範囲は、次の「自分のパソコンで確かめる」で確認します。追加の別課題を提出する必要はありません。
ブラウザーから自分のサーバーへ要求を送り返事を読む
本文の知識を、この実習でどう使うか
はページを頼むメッセージと返事の決まりです。は本文に付く追加情報で、画面には直接表示されないこともあります。
- 要求する
- サーバーの返事
- 番号・・本文
結果が違ったときに考えること:200でも欲しい本文とは限りません。X-Lessonは Headersで確認し、設定変更後はサーバーも起動し直します。
正常ページは200、存在しないページは404。設定を変えるとX-Lessonだけがafterになる。
WindowsまたはMacの操作手順、準備に失敗したときの確認方法、実行コマンドは実習画面に用意しています。ページ下部の「準備から実習を始める」から進んでください。
HTTPは実際に127.0.0.1だけで待ち受けます。TLSや実アカウントは使いません。X-Demo-Userは架空の認証情報で、本番の認証方式ではありません。