XEROTTA

新入社員の学び / IT初級者 / 講座8

IT FOUNDATION / COURSE 08

Webとインターネット通信

ブラウザーとcurlで要求と応答を比べ、URL・TLS・HTTP・Cookie・セッションを別の役割として説明する。

アニメと具体例手順付き演習成果物とレビュー解説付き確認問題

まずは、図でつかもう

1 / 4

矢印を追い、各ポイントを押して確認しましょう。

01 / IT FOUNDATION

この講座で、何をできるようにするか。

ブラウザーとcurlで要求と応答を比べ、URL・TLS・HTTP・Cookie・セッションを別の役割として説明する。

目安18時間。説明・調査・演習・成果物作成・レビューを含む学習計画です。本文を読むだけでこの時間の実習を完了したことにはなりません。進み方と経験に応じて調整します。

学習目標と確認ポイント詳しく見る
  • URLと通信の段階を説明し、URL分解表を作る。
  • メソッドとリソースを説明し、API通信一覧を作る。
  • ステータスとリダイレクトを説明し、状態コードの比較表を作る。
  • ヘッダーと本文を説明し、ヘッダー読解メモを作る。
  • HTTPS・TLS・証明書を説明し、TLSとHTTPの役割比較を作る。
  • Cookieとセッションを説明し、セッションの状態図を作る。
開始前の準備

ブラウザーで本文・アニメ・問題を確認できます。実機演習は会社が用意した学習環境を使い、Python・Linux・Git・DB等の準備状況を確認してから進めます。

演習ファイルを先に準備する

Python・SQL・ログ・架空パケット表・テスト・APIのスターターと説明書を同梱しています。APIは認証・認可等を受講者が追加する未完成の学習用で、公開用完成品ではありません。

共通演習キットをダウンロード
Webとインターネット通信の学習内容を表した仕組みのイメージ図

02 / IT FOUNDATION

仕組みを理解し、手を動かして確かめる。

1. URLと通信の段階2. メソッドとリソース3. ステータスとリダイレクト4. ヘッダーと本文5. HTTPS・TLS・証明書6. Cookieとセッション

URLと通信の段階

詳しく見る

学習ブロック 1 / 目安3時間(説明・調査・演習・記録・レビュー)

URLには方式、ホスト、ポート、パス、クエリー、フラグメントなどの要素があります。名前解決、接続、TLS、HTTPを分け、フラグメントが通常のHTTP要求へ送られない点など、表示と実際の要求の違いも確認します。

具体例と実習手順

架空URLを要素へ分け、ブラウザーのNetwork欄でRequest URLと要求先を読み取る。

残す成果物:URL分解表

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

メソッドとリソース

詳しく見る

学習ブロック 2 / 目安3時間(説明・調査・演習・記録・レビュー)

HTTPのGET、POST、PUT、PATCH、DELETE等は、対象とするリソースへ行う操作の意味を表します。画面のボタン名とは別です。GETで状態を変更する設計を避けるなど、操作の性質に応じた設計を考えます。

具体例と実習手順

演習アプリの一覧取得と追加を比べ、メソッド・パス・送信データ・応答の違いを記録する。

残す成果物:API通信一覧

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

ステータスとリダイレクト

詳しく見る

学習ブロック 3 / 目安3時間(説明・調査・演習・記録・レビュー)

2xxは成功、3xxは転送等、4xxは要求側に関わる状態、5xxはサーバー側の失敗を表す分類です。200でも業務上の期待を満たすとは限らず、401と403、404、409等の意味も内容と合わせて読みます。

具体例と実習手順

curl -iでヘッダーを読み、-Lの有無で転送追従が変わる例を比べる。400と409の本文も記録する。

残す成果物:状態コードの比較表

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

ヘッダーと本文

詳しく見る

学習ブロック 4 / 目安3時間(説明・調査・演習・記録・レビュー)

Content-Typeは本文の形式、Cache-Controlは再利用の条件などを伝えます。JSONを返すAPIとHTMLを返すページを区別します。機密情報を含むCookieや認証ヘッダーは、調査記録へそのまま貼り付けません。

具体例と実習手順

NetworkのHeadersとResponseを分けて観察し、形式・長さ・キャッシュの条件を表へまとめる。

残す成果物:ヘッダー読解メモ

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

HTTPS・TLS・証明書

詳しく見る

学習ブロック 5 / 目安3時間(説明・調査・演習・記録・レビュー)

HTTPSではTLSを利用して通信を保護します。証明書の名前や有効期間、信頼の検証は、暗号化されているという一言では省けません。HTTPSだからサイトの内容が必ず正しい、詐欺でない、脆弱性がないとは限りません。

具体例と実習手順

公開の学習用サイトで証明書の対象名と期限を読み、教材のHTTPローカル演習との違いを説明する。警告の回避は行わない。

残す成果物:TLSとHTTPの役割比較

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

Cookieとセッション

詳しく見る

学習ブロック 6 / 目安3時間(説明・調査・演習・記録・レビュー)

Cookieはブラウザーが保持して要求へ付ける情報の仕組み、セッションは利用者の状態を管理する考え方です。HttpOnly、Secure、SameSite等の属性を目的で読みます。ログインの確認と、各操作を許す認可も別です。

具体例と実習手順

演習用の架空セッションを図にし、ログイン、状態の保持、期限切れ、ログアウトの流れを記録する。

残す成果物:セッションの状態図

前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。

ローカルAPIで要求と応答を比較する

別のターミナルで:python3 api_lab.py
curl -i http://127.0.0.1:8788/health
curl -I http://127.0.0.1:8788/health
curl -i http://127.0.0.1:8788/redirect
curl -i -L http://127.0.0.1:8788/redirect
curl -i http://127.0.0.1:8788/simulate-error

期待:healthは200。HEADは本文なし。
redirectは302とLocation。-Lで転送先へ進む。
simulate-errorは教材として意図的に500を返す。
HTTPの状態と、ネットワーク接続失敗を分けて記録する。

03 / IT FOUNDATION

仕事のアニメ:Webとインターネット通信を考える。

新人・アオイさんと先輩・ミナトさんの会話で、「Webとインターネット通信」を学びます。最初の場面は「URLには方式、ホスト、ポート、パス、クエリー、フラグメントなどの要素があります。」。何を確かめ、どう対応するかを順に見ていきましょう。

URLと通信の段階1 / 6
アオイ

URLには方式、ホスト、ポート、パス、クエリー、フラグメントなどの要素があります。

学習ポイント:URL分解表

約12秒ごとに場面が切り替わります。再生中も一時停止でき、「前へ」「次へ」で自分のペースで読めます。最終場面で停止します。

アニメの内容をまとめて文章で読む

1. URLと通信の段階

アオイ:URLには方式、ホスト、ポート、パス、クエリー、フラグメントなどの要素があります。

学習ポイント:URL分解表

2. メソッドとリソース

ミナト:HTTPのGET、POST、PUT、PATCH、DELETE等は、対象とするリソースへ行う操作の意味を表します。

学習ポイント:API通信一覧

3. ステータスとリダイレクト

アオイ:2xxは成功、3xxは転送等、4xxは要求側に関わる状態、5xxはサーバー側の失敗を表す分類です。

学習ポイント:状態コードの比較表

4. ヘッダーと本文

ミナト:Content-Typeは本文の形式、Cache-Controlは再利用の条件などを伝えます。

学習ポイント:ヘッダー読解メモ

5. HTTPS・TLS・証明書

アオイ:HTTPSではTLSを利用して通信を保護します。

学習ポイント:TLSとHTTPの役割比較

6. Cookieとセッション

ミナト:Cookieはブラウザーが保持して要求へ付ける情報の仕組み、セッションは利用者の状態を管理する考え方です。

学習ポイント:セッションの状態図

04 / IT FOUNDATION

演習を完成させ、成果物をレビューする。

演習1

開発者ツールで一覧・追加・エラーの3通信を記録する。

  1. 対象・環境・入力データ・期待結果を記録する。
  2. 上の解説と各ブロックの実習手順を使って作業する。
  3. 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
  4. 成果物・再現手順・分かったこと・未確認を残してレビューする。

演習2

curlの-i、-I、-Lを目的と違いを理解して使い分ける。

  1. 対象・環境・入力データ・期待結果を記録する。
  2. 上の解説と各ブロックの実習手順を使って作業する。
  3. 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
  4. 成果物・再現手順・分かったこと・未確認を残してレビューする。

演習3

状態コード、本文、Cookieの役割を他人へ説明する。

  1. 対象・環境・入力データ・期待結果を記録する。
  2. 上の解説と各ブロックの実習手順を使って作業する。
  3. 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
  4. 成果物・再現手順・分かったこと・未確認を残してレビューする。
レビューで確かめること

正しい用語で説明できるか/入力と結果が対応しているか/正常だけでなく失敗する条件も扱ったか/他の人が再現できるか/残る課題を隠していないか。

05 / IT FOUNDATION

確認問題:答えより、理由を説明する。

全5問。選ぶと解説が表示されます。何度でも選び直せます。

回答済み 0 / 5問

06 / IT FOUNDATION

成果物を残し、理解と未確認を分ける。

架空データを使い、根拠と結果を自分の言葉でまとめます。回答とメモは自動保存・外部送信しません。残したい内容はコピーするか、成果物ファイルへ記入してください。

07 / IT FOUNDATION

説明・実装・記録を、一つの成果へつなげる。

ブラウザーとcurlで要求と応答を比べ、URL・TLS・HTTP・Cookie・セッションを別の役割として説明する。

  • URL分解表
  • API通信一覧
  • 状態コードの比較表
  • ヘッダー読解メモ
  • TLSとHTTPの役割比較
  • セッションの状態図

08 / IT FOUNDATION

公式資料・確認先