0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

HTTP(S)について簡単にまとめてみた

Posted at

HTTPを簡単に説明

  • WEBサイトを表示する際に利用される約束事(プロトコル)のことである。
    • HTTP(Hypertext Transfer Protocol)である。
    • HTTPというサイトを表示する約束事がなされているおかげで今このページを閲覧できている。逆に、HTTPがなければインターネット上のWEBページは閲覧することができない。

WEBページが表示される仕組み&HTTPのおさらい

  • WEBサイトを表示される仕組み(を理解するには、ブラウザWEBサーバーの2つを理解する必要がある。)
    スクリーンショット 2023-03-20 20.45.06.png
    • ブラウザ

      • Google ChromeやInternet ExplorerなどWEBサイトを閲覧するために必要なソフト。
      • 今現在、この記事の読者はいずれかのブラウザを使って閲覧している(はず)。
    • WEBサーバー

      • WEBページのデータが保管されているコンピューターのこと。
      • ここにはHTMLファイルが保管されている。そのため、ブラウザに閲覧したいWEBサイトを表示させるには、ブラウザを通して、あなたが「〇〇ページを見たい」というリクエストをサーバーにリクエストを送り、サーバーがあなたにレスポンスを返すことで、あなたのブラウザにWEBページが表示される。

スクリーンショット 2023-03-20 20.56.08.png

  • HTTPのおさらい
    • 先ほどWEBページを表示させる際、サーバーにリクエストを送り、サーバーはレスポンスを返す、すなわち、WEBページに関する通信について記述したが、まさに、この通信方法を定めたものがHTTP(約束事)である。
      • どのブラウザでどのページを見ても正しく表示されるのは、全てこの機器がこのHTTPに沿った通信を行なっているため。
      • ブラウザとWEBサイトどちらか一方がHTTPのルールを無視したリクエスト・レスポンスをした場合、WEBページは正しく表示されることはない。

HTTPリクエストの3つの要素

  • ブラウザから「〇〇ページを見たい」とリクエストを送ることをHTTPリクエストという。

    • HTTPリクエストには3つの要素が存在する。
      スクリーンショット 2023-03-20 21.10.57.png
  • HTTPリクエスト:リクエスト行

    • リクエスト行にはメソッド(WEBページへの命令) 対象 WEBページ(URL) 使用するHTTPプロトコルのバージョン情報が含まれている。
      スクリーンショット 2023-03-20 21.17.45.png

    • 例えば、メソッドは指定されたWEBページに対する処理の種類を表す。WEBページの情報を単純に閲覧したい場合はGETメソッドを使用する。また、WEBページに対してコメントの投稿などをする場合はPOSTメソッドを使用する。

    • 代表的なリクエストメソッド
      スクリーンショット 2023-03-20 21.20.57.png

  • HTTPリクエスト:ヘッダー

    • リクエストヘッダー行には、WEBブラウザで受信可能なデータ形式や文字コード、言語、キャッシュに関する指示などの情報が含まれている。
      スクリーンショット 2023-03-20 21.25.04.png
  • HTTPリクエスト:ボディー

    • ボディーには主にPOSTメソッドを利用した通信時のパラメーターが記載される。
      • 以下のような入力内容をWEBページに送る際のボディー
        スクリーンショット 2023-03-20 21.27.28.png
        スクリーンショット 2023-03-20 21.27.36.png

HTTPレスポンスの3つの要素

  • ブラウザから送られてきたHTTPリクエストに対する返答をHTTPレスポンスと呼ぶ。

    • ここには、要求された実際のページが含まれる。
    • HTTPレスポンスにも3つの要素が存在する。
      スクリーンショット 2023-03-20 21.32.40.png
  • HTTPレスポンス:ステータス行

    • ステータス行にはリクエストの結果が含まれている。
    • 例えば、GETメソッドに対して正常にページ情報を出せる場合は、「200番台の成功」を返し、失敗した場合には、「500番台のサーバエラー」などを返す。※100番台が見切れてしまったが、成功も失敗もない状態と文章が続く。
      スクリーンショット 2023-03-20 21.37.31.png
  • HTTPレスポンス:ヘッダー

    • レスポンスヘッダー行には、サーバー情報やレスポンスするデータタイプなどの情報が含まれている。
      スクリーンショット 2023-03-20 21.42.08.png
  • HTTPレスポンス:ボディー

    • ボディーには主にリクエストしたページがHTML形式で記載される。
      • ブラウザはこのHTMLを読み取り、画面上にわかりやすく表示する。すなわち、HTTPレスポンスのボディー行がWEBページの実データであると言える。
        スクリーンショット 2023-03-20 21.45.23.png

HTTPSとは

  • WEBサイトを安全に表示するためプロトコルである。
    • HTTPとの違いは通信内容が暗号化されるか否かという点である。
    • 先ほど、説明したリクエストボディなどHTTPでは通信内容が平文で送信されるため、悪意のある第三者が情報を盗んだりできる。その悪用を防ぐために、HTTPSでHTTPの通信を暗号化し、仮に通信内容が外部に漏れてしまったとしても問題ないようにしている。
      スクリーンショット 2023-03-20 21.49.52.png
      スクリーンショット 2023-03-20 21.52.41.png

おわりに

間違い等ございましたらコメント欄(POSTメソッド)にてご指摘ください。

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?