Flask入門|HTTPの仕組みとステータスコードを理解しよう【チャプター4-01】

ながみえ

一つ前のチャプターではフィルターについて学習しました。

今回からは フォーム編 に入っていきます。

Chapter1:Flask入門編
Chapter2:Jinja2入門編
Chapter3:フィルター編
Chapter4:フォーム編

 ・Chapter4-1:HTTPとは何か ◁今回はここ
 ・Chapter4-2:フォームの基本を理解しよう
 ・Chapter4-3:WTFormsを理解しよう
 ・Chapter4-4:フォームのバリデーションを理解しよう
 ・Chapter4-5:カスタムバリデータを理解しよう
 ・Chapter4-6:テンプレートマクロを理解しよう
 ・Chapter4-7:Flask-WTFを理解しよう
Chapter5:データベース編
Chapter6:Flaskの便利機能編
Chapter7:アプリ開発編

私たちが日々使っているWebアプリやWebサイト。

例えばニュースを読んだり、天気を確認したり、SNSに投稿したりといった行動は、すべて「インターネット」を通じてどこかのサーバーと通信を行っています。

でも、その裏側でどんなやりとりが行われているか、考えたことはあるでしょうか?

そのやりとりを支えているのが「HTTP(エイチ・ティー・ティー・ピー)」と呼ばれる通信のルール(=プロトコル)です。

これはあなたのパソコンやスマートフォンが、サーバーと「こういう形で情報をください」とやりとりするための共通の約束ごとです。

この章では、FlaskでWebアプリを作る前提となるHTTPの仕組みを、初心者にもわかりやすく丁寧に解説していきます。

難しそうに見えるかもしれませんが、図や例を使って、しっかり理解できるように進めていくので安心してください。

<<前のページ

Flaskの記事一覧

次のページ>>

HTTPの仕組みと基本を初心者向けに解説

【Python】勉強猫がノートパソコンを前にして学習を始める様子。記事内の学習スタート用イラスト

「HTTP」とは?Webの通信の基本を理解しよう

HTTP(HyperText Transfer Protocol)とは、「ハイパーテキスト・トランスファー・プロトコル」の略で、Web上で情報をやりとりするためのルール(=プロトコル)です。

もっと簡単に言うと、「ブラウザ」と「サーバー」の間で情報を送ったり受け取ったりするための共通言語のようなものです。

たとえば、あなたがブラウザでどこかのサイトのURLを開いたとき、実は裏側でこんなやりとりが行われています:

  • ブラウザ:「ホームページの情報をください」(→ HTTPリクエスト
  • サーバー:「こちらがホームページの内容です」(→ HTTPレスポンス

これを図で表すと以下のようになります。

クライアントのブラウザと、サーバー上のフレームワークがHTTPリクエストとレスポンスを通じてやりとりを行う構造を図解。GETメソッドでページを取得し、POSTメソッドでデータ送信する流れが示されている。
  • 「クライアント(Client)」= ユーザーのブラウザなど
  • 「サーバー(Server)」= Webサイトの情報が保管されている場所
  • クライアントがHTTPリクエストを送り、サーバーがHTTPレスポンスを返す
  • HTTPレスポンスの中身はWebページを構成するHTMLや画像などのデータ

このようにして、あなたの画面にWebページが表示されているのです。

(※)この図の詳細は次のチャプターで詳しく解説するので、今はこの流れを覚えておけば十分です。

参考資料

今あなたが見ているこのページの場合、ブラウザの上部に「https://programming-mondai.com/top/flask_top/c4-01/」と表示されているはずです。

これは「programming-mondai.com」というドメイン名を持つWebサイトの「/top/flask_top/c4-01/」というパスのページにアクセスしており、その情報をHTTPSという通信プロトコルで受信していることを意味します。

プロトコルとは何か?通信ルールをわかりやすく解説

「プロトコル」とは、通信をするときのルールや手順のことです。

私たちが会話をするとき、「あいさつをする」「相手の話を聞く」「順番に話す」といったルールがありますよね。

コンピュータ同士も同じように、スムーズにやりとりするための決まりごとを持っています。それが「プロトコル」です。

HTTPはその中のひとつで、特にWebサイトやWebアプリの通信で使われています。

HTTPSの基礎知識とFlaskにおける活用場面

【Python】勉強猫がノートパソコンを見ながら考え込む様子。記事内の休憩用イラスト

HTTPとHTTPSの違いをわかりやすく整理

ここまで学んできた「HTTP」は、Webページを見るときの基本的な通信ルールでした。

実際にブラウザのアドレスバーを見てみると、サイトによってはURLがこうなっていることがあります:

https://example.com

このとき先頭にある「https」は、「HTTPにS(セキュリティ)が加わったもの」を意味します。

つまり「HTTPS(エイチ・ティー・ティー・ピー・エス)」は、HTTP通信に暗号化の機能を加えた安全な通信方法です。

HTTPSのメリットと導入する理由

HTTPでは通信の内容がそのまま送受信されます。つまり途中で盗み見られたり、書き換えられたりするリスクがあるということです。

これに対して、HTTPSでは通信内容が暗号化されており、たとえ誰かに盗み見されても中身が読めないようになっています。

▶ 具体的に守られるものの例:

  • パスワードやクレジットカード番号
  • 個人情報
  • ログイン情報 など

実際にHTTPSが使われる例

今ではほとんどのWebサイトがHTTPSを利用しており、ブラウザでもHTTPSが使われていないサイトには警告が表示されることがあります。

またFlaskで作成するアプリも、公開する段階ではHTTPSに対応することが推奨されています。

これはユーザーの情報を安全にやりとりするための、現代のWeb開発では当たり前のルールになってきています。

開発中のローカル環境では通常HTTPで十分ですが、公開用にアプリをWebサーバーに置く場合には、SSL証明書(セキュリティ証明)を設定する必要があります。

この辺りは少し上級の内容になりますが、「HTTPSは安全な通信を実現する仕組みであり、将来的に必要になる」という意識を持っておくと、今後の学習にも役立ちます。

HTTPステータスコードの種類とFlaskアプリでの使い方

【Python】勉強猫がコーヒーを片手にリラックスしている様子。記事内の休憩用イラスト

ステータスコードとは?通信結果の指標を学ぶ

Webサイトにアクセスしたとき、サーバーはHTTPレスポンスとして情報を返しますが、その中には必ずステータスコード(Status Code)という数値も含まれています。

このステータスコードはリクエストに対するサーバーの処理結果を、数字でクライアント(ブラウザ)に伝えるものです。

たとえば「うまくいきました!」とか「そのページは見つかりません!」などの意味を、3桁の番号で表しています。

ステータスコードの構造とコードの意味

ステータスコードは3桁の数字で構成され、先頭の1桁目の数字で大まかな意味が分類されています:

桁数意味
1xx情報(あまり一般利用されない)
2xx成功200 OK(成功)
3xxリダイレクト302 Found(別のURLへ移動)
4xxクライアントエラー404 Not Found(ページが見つからない)
5xxサーバーエラー500 Internal Server Error(サーバー側の問題)

よく使われるステータスコードの紹介

Flask学習者が知っておくべきステータスコードを3つ紹介します。

1.200 OK

これは「リクエストが正しく処理されました」という意味です。
ページが正常に表示されたときなど、ほとんどの成功時に使われます。

2.404 Not Found

このコードは、「リクエストされたページが見つかりませんでした」という意味です。
URLを間違えたときや、存在しないページにアクセスしたときによく表示されます。

3.500 Internal Server Error

これは「サーバー側で何かエラーが発生した」という意味です。
プログラムのバグや設定ミスなどが原因で、サーバーが処理できないときに発生します。

Flask開発でステータスコードが重要な理由とは?

FlaskでWebアプリを開発していると、ブラウザに突然「404」や「500」のようなエラーが表示されることがあります。

そうしたとき、原因を正しく理解して対処するためには、ステータスコードの意味を知っておくことがとても重要です。

初心者のうちは「意味がわかるコード」だけでも覚えておくと安心です。必要に応じて、一覧表を調べる形でもOKです。

まとめ|Flask開発のためにHTTPの基礎を押さえよう

このセクションではFlaskを学ぶうえで欠かせないHTTPの基本知識について学びました。Webアプリ開発の土台となる部分をしっかりと理解できたでしょうか?

Webアプリの世界はこうした基礎知識の上に成り立っています。HTTPの仕組みを知ることで、「なぜそのコードを書くのか」がより深く理解できるようになります。

次回はいよいよ「フォーム」について学んでいきます!

ユーザーがWebページに情報を入力し、それをFlaskでどう受け取るのか。HTTPの知識が活きてくる内容なので、ぜひ楽しみにしていてください。

もっと分かりやすいサイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいFlask学習サイトにするため、ぜひ問い合わせフォームからご意見下さい。

<<前のページ

Flaskの記事一覧

次のページ>>

FAQ|HTTPとステータスコードの基礎理解

Q
Q1. HTTPはWebアプリにどう関係しているの?

HTTPは、ブラウザとサーバーの間でデータをやり取りするための通信ルールです。FlaskなどのWebアプリでは、ユーザーのリクエストを受け取って応答を返す際にHTTPが使われます。

Q
Q2. HTTPとHTTPSの違いは見た目以外に何があるの?

HTTPSは通信内容が暗号化されており、第三者に盗み見されにくい仕組みになっています。見た目の違いだけでなく、セキュリティや信頼性が大きく向上しています。

Q
Q3. ステータスコードってどんな時に見ることがあるの?

ページが正常に表示されたり、エラーが出た時などに使われます。たとえば「404」はページが見つからない時、「200」は正常に処理が完了した時に使われるコードです。

質問用コンタクトフォーム

この記事を書くにあたりAIを活用しています。

人間の目による確認も行っていますが、もし間違い等ありましたらご指摘頂けると大変助かります。

記事URLをコピーしました