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は認証・認可等を受講者が追加する未完成の学習用で、公開用完成品ではありません。
共通演習キットをダウンロード
02 / IT FOUNDATION
仕組みを理解し、手を動かして確かめる。
URLと通信の段階
詳しく見る
学習ブロック 1 / 目安3時間(説明・調査・演習・記録・レビュー)
URLには方式、ホスト、ポート、パス、クエリー、フラグメントなどの要素があります。名前解決、接続、TLS、HTTPを分け、フラグメントが通常のHTTP要求へ送られない点など、表示と実際の要求の違いも確認します。
架空URLを要素へ分け、ブラウザーのNetwork欄でRequest URLと要求先を読み取る。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
メソッドとリソース
詳しく見る
学習ブロック 2 / 目安3時間(説明・調査・演習・記録・レビュー)
HTTPのGET、POST、PUT、PATCH、DELETE等は、対象とするリソースへ行う操作の意味を表します。画面のボタン名とは別です。GETで状態を変更する設計を避けるなど、操作の性質に応じた設計を考えます。
演習アプリの一覧取得と追加を比べ、メソッド・パス・送信データ・応答の違いを記録する。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
ステータスとリダイレクト
詳しく見る
学習ブロック 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ローカル演習との違いを説明する。警告の回避は行わない。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
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には方式、ホスト、ポート、パス、クエリー、フラグメントなどの要素があります。
約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通信を記録する。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
演習2
curlの-i、-I、-Lを目的と違いを理解して使い分ける。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
演習3
状態コード、本文、Cookieの役割を他人へ説明する。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
正しい用語で説明できるか/入力と結果が対応しているか/正常だけでなく失敗する条件も扱ったか/他の人が再現できるか/残る課題を隠していないか。
05 / IT FOUNDATION
確認問題:答えより、理由を説明する。
全5問。選ぶと解説が表示されます。何度でも選び直せます。
回答済み 0 / 5問
06 / IT FOUNDATION
成果物を残し、理解と未確認を分ける。
架空データを使い、根拠と結果を自分の言葉でまとめます。回答とメモは自動保存・外部送信しません。残したい内容はコピーするか、成果物ファイルへ記入してください。
07 / IT FOUNDATION
説明・実装・記録を、一つの成果へつなげる。
ブラウザーとcurlで要求と応答を比べ、URL・TLS・HTTP・Cookie・セッションを別の役割として説明する。
- URL分解表
- API通信一覧
- 状態コードの比較表
- ヘッダー読解メモ
- TLSとHTTPの役割比較
- セッションの状態図
08 / IT FOUNDATION
