こんにちは、あるくです!
最近はProgateでHTML/CSS中級編のレッスン10まで進みました。
使えるタグが増えてきて、いろんな表現ができるようになるのが楽しいですね!
「あ、こんなこともできるのか」と毎回新しい発見があって、Webの世界の広さにワクワクしています。
ただ……正直、指示通りに入力するのはできても、自分で一から書くとなるとちょっとハードルが高いなと感じてます😅 これ覚えられるのかな〜と。
これはたくさん練習して、体にしみ込ませるしかないですね!
そんな風に学習を進めている中で、ふと気になったことがあります。
ブラウザでどんなサイトを見るときも、URLの最初に「http://」や「https://」ってついてますよね?
これは一体何なのか?
どういう意味があって、何をしてくれているのか?
もはやドラえもん的な存在になりつつあるAI先生に聞いてみたので、学んだことをシェアしてみます!

URLの先頭にある「http」ってなんなんだろう? 毎回ついているけど、どういうものか実はよくわかってないんだよね。

いい質問ですね! 以下にご要望をもとにしたHTTPのあらましを丁寧に解説しますね。
HTTPの概要

まず、「HTTP」とは何か?
HTTPとは、「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略です。要するに、Webページを表示するための“通信ルール”のことです。
普段、私たちがブラウザでWebサイトを見るとき、裏では「どのページを表示するか」や「どんな情報を受け取るか」を、このHTTPというルールに従って、ブラウザとサーバーがやり取りしているんですね。
ちなみに、「プロトコル(Protocol)」は「取り決め」や「規約」という意味。つまり、HTTPは「Webを見るためのやりとりのルール」というわけです。

ほうほう。Webを見るための通信ルールなのね。確かハイパーテキストは「リンクがついた文章」だったよね。プロトコルは「取り決め」や「規約」という意味か。トランスファーは「移行」という意味であってる?

その通り!
「ハイパーテキスト=リンク付きの文書」
「プロトコル=決まりごと」
「トランスファー=送る・転送する」って意味です👌
3つ合わせて「リンク付き文書を送るための通信ルール」って感じですね!

了解です。意味はわかったので、次は役割を教えてくれる?
HTTPの役割

HTTPの主な役割は、以下のようなリクエストとレスポンスのやり取りです。
🔸ユーザー(あなたのブラウザ)がすること
「このページが見たいよ!」とリクエストを送る。
例:https://relearnstep.com/internet1/
にアクセスすると、「このページちょうだい!」というリクエストが送られる。
🔹サーバーがすること
「はい、これがそのページです!」とレスポンス(応答)を返す。
このやりとりに使われているルールがHTTPです。
つまり、Webページを“取りに行って”、“受け取る”という一連の動作を支えているのがHTTPなんですね。

なるほど。リクエストとかって印象なかったけど、そういうことを高速にやってるってことなのかな? 今はすぐに表示されることが多いけど、昔のISDNとかだと表示されるまで時間かかったからね。

はい、そのとおりです。裏では「ページをください(リクエスト)→どうぞ(レスポンス)」というやり取りが、高速で行われているんですよ。
ISDNの時代は通信速度が遅かったので、表示にも時間がかかっていましたね。

ちなみにURLの最初に「http://~」って付くのは、どうしてなの? あと「https://~」てのもあるよね。違いはなんなの?

「http://」や「https://」は、「このページにはHTTPという通信ルールを使ってアクセスしますよ」という意味を表しています。「http://」と「https://」の違いも気になりますよね。
ざっくり言うと、“s”があるかどうかで通信の安全性が変わります。
httpとhttpsの違い

「https://」の「s」は“secure”の略で、通信が暗号化されていてより安全です。特にパスワードや個人情報を扱うサイトでは「https」が使われます。
項目 | http:// | https:// |
---|---|---|
通信の暗号化 | なし | あり(SSL/TLS) |
セキュリティ | 低い | 高い |
URL表示 | 「保護されていない通信」などと表示されることも | 鍵マークがついて安心感 |
使われ方 | 一部の古いサイトなど | 現在の主流。ほとんどのWebサイトがhttps |
特に個人情報を入力するフォームや、ショッピングサイトなどは、必ずhttpsである必要があります。
今では、Googleなどの検索エンジンもhttpsじゃないと評価を下げるようになってきているので、サイト運営者にとっても重要です。
ちなみに、「SSL」や「TLS」という言葉もたまに見かけますが、これらはhttpsを実現するための技術のことです。

S付きだとより安全なんだ。確かにたまに「安全ではないサイト〜」というサイトがあったりするね。自分も仕事でSSL更新のお手伝いとかやった記憶があるなぁ(・・・細かい意味はよくわかってなかったけど)。

はい、その「S」はSSL/TLSという暗号化技術で守られている証なんです。SSLの更新作業をされたことがあるなら、まさに「https」に関わる大事な仕事をされていたんですよ!

ところでなんでhttpsって付くようになったの? httpだとセキュリティは強化できなかったの?

HTTPは通信内容が暗号化されないため、盗み見や改ざんのリスクがありました。そうした弱点を補うために、より安全な「https」が登場したんです。

暗号化されないのは怖いね😱 それだと確かにhttpsのほうがいいわ。
まとめ

というわけで、今回は「HTTPって何?」という疑問から、通信のしくみやhttpとhttpsの違いについて学んでみました。
- HTTPはWebページを届けるためのルール(プロトコル)
- あなたのブラウザとサーバーが、このルールに沿って情報をやり取りしている
- 「https」はその通信を暗号化してくれる、安全性の高いバージョン
普段はあまり意識しない部分ですが、Webの仕組みを理解するうえで大事な基礎なんだなと実感しました☺️
Progateでコードの書き方を学びながら、こうした背景の仕組みも少しずつ理解していけたら、自分でサイトを作るときにも役立ちそうですね💻✨
▶️ 次はこちらの記事もおすすめ:「HTMLってどういうもの?」
コメント