ネットワークって。。。#39(アプリケーションプロトコル)

今回はHTTPの話。

HTTP。。。Hyper Text Transfer Protocolの略で、エイチティーティーピーって読みます。

またまたそのままですが。。。笑

 

f:id:thmat:20210920142535j:plain

 

前回までのおさらいです。

WWWは大きく3つの定義から構成されます。

1つ目は、情報へのアクセスする手段と位置情報の定義

2つ目は、情報の表現フォーマットの定義

3つ目は、情報の転送などの操作の定義

それぞれ、

URI(Uniform Resource Identifer)

HTML(HyperText Markup Language)

HTTP(HyperText Transfer Protocol)

と呼ばれるものです。 

 

HTTP(Hyper Text Transfer Protocol)

皆さんもHTTPとかHTTPSって聞いた事ある方も多いと思います。

ブラウザのURL(アドレス)入力欄で、http]//www.・・・みたいなのをよく見かけますよね。。。よね?多分笑

これって、HTTPというプロトコルを使ってWebサーバとやり取りしているんです。

例えば、

http://www.aaa.jp/bbb.html

だと、ブラウザがwww.aaa.jpというWebサーバに対して「bbb.htmlというページを頂戴」(HTTPリクエスト)ってお願いして、それに対しWebサーバは「bbb.htmlはこれですよ」(HTTPレスポンス)ってブラウザに返し、ブラウザが返ってきたbbb.htmlを表示している感じです。

 

ちなみに、httpはポート80番、httpsはポート443番で通信します。

 

 

HTTPメソッド

ブラウザは、HTTPを使ってWebサーバ上のアプリケーション(プログラム)とも通信が出来ます。

http://www.aaa.jp/ProgramCCC?key=value

これは、ブラウザがwww.aaa.jpというWebサーバに対して「key=valueという条件でProgramCCCを動かした結果を頂戴」ってお願いして、Webサーバは「はい、結果はこれ」って返して、その結果をブラウザが表示する感じです。

 

例えば、AmazonでHTTPっていう条件で検索したら、

https://www.amazon.co.jp/s?k=HTTP&__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&ref=nb_sb_noss_2

っていうURLになります。

これは、amazonのWebサーバに対して「k=HTTPという条件でsというプログラムを動かした結果を頂戴」って感じです。

ちなみに、&__mk_ja_JP=%E3%82・・・以下の部分は、日本からなので、日本のコンテンツを表示みたいに、Amazonが内部的に制御しているものだと思います。。。多分

 

で、このProgramCCC?key=valueの?以降、つまりはkey=valueという文字列をWebサーバに渡す方法のことをHTTPメソッドっていいます。

URLに?とパラメータを付けて渡す方法は、GETというメソッドで渡しています。

 

以下に、HTTPメソッドの一覧を記載します。

  • GET:指定したURLのデータを取得
  • HEAD:メッセージのヘッダだけを取得
  • POST:指定したURIにデータを登録
  • PUT:指定したURIにデータを保存
  • DELETE:指定したURIのデータを削除
  • TRACE:リクエストメッセージをクライアントに戻す

 

 

HTTPステータスコード

要求を受けたWebサーバは、クライアント(ブラウザ)にHTTPレスポンスを返す際に、実際のコンテンツやコンテンツ返すコンテンツの種類(Content-Type)やデータ長(Content-Length)等の属性情報に合わせて、ステータスコードを返します。

例えば、要求が成功した場合は「200 OK」、資源が存在しない場合は「404 Not Found」等です。

主にステータスコードは、以下のようになります。

  • 100番台:情報提供
  • 200番台:成功
  • 300番台:転送(Redirect)
  • 400番台:クライアントエラー
  • 500番台:サーバエラー

 

 

まとめ

  1. HTTPはクライアント(主にWebブラウザ)とWebサーバが通信するプロトコル
  2. HTTPは80番ポート、HTTPSは443番ポートで通信。
  3. クライアントからWebサーバにリクエストを送る方法をHTTPメソッドと呼ぶ。
  4. HTTPレスポンスには、実際のコンテンツに加え、コンテンツの種類(Content-Type)、データ長(Content-Length)等の属性情報、レスポンスのステータスコードが含まれる。

 

 

今回は、以上になります。 

 

最後まで読んで頂き、ありがとうございました。

 

 

【参考書籍】

 

 

 

     

 

 

すまっとネット - にほんブログ村

にほんブログ村 教育ブログ プログラミング教育へ にほんブログ村 IT技術ブログ IT技術メモへ
PVアクセスランキング にほんブログ村
にほんブログ村

 
人気ブログランキングへ