httpはどういう意味ですか?

  
                  

HTTP(HyperText Transfer Protocol)は、インターネット上で最も広く使用されているネットワーク転送プロトコルです。すべてのWWWファイルはこの規格に準拠している必要があります。 HTTPを設計する当初の目的は、HTMLページを公開および受信する方法を提供することでした。現在のアプリケーションは、主に、写真、オーディオファイル(MP3など)、ビデオファイル(rm、aviなど)、圧縮パッケージ(zip、rarなど)などのHTML Webページに加えて、ハイパーテキストデータの送信に使用されます。どちらもHTTPを使用して送信できます。

Webアプリケーション層プロトコルHTTPはWebの中核です。 HTTPはWebクライアントおよびサーバープログラムに実装されています。異なるエンドシステムで実行されているクライアントとサーバープログラムは、HTTPメッセージを交換することによって互いに通信します。 HTTPはこれらのメッセージの構造と、クライアントとサーバーがこれらのメッセージを交換する方法を定義します。 HTTPについて詳しく説明する前に、Webの専門用語をいくつか見てみましょう。

Webページ(ドキュメントとも呼ばれる)は複数のオブジェクトで構成されています。オブジェクトは、HTMLファイル、JPG画像、GIF画像、JAVAアプレット、ボイスクリップなどの、単一のURLでアドレス指定できるファイルです。ほとんどのWebページは、単一の基本HIMLファイルといくつかの参照オブジェクトから構成されています。たとえば、WebページにHTMLテキストと5つのJPEG画像が含まれている場合、それは6つのオブジェクト、基本的なH1MLファイルと5つの画像で構成されています。基本HTMLファイルは、このページの他のオブジェクトを参照するために対応するURLを使用します。各URLは、オブジェクトを保持するサーバーホスト名とオブジェクトのパス名で構成されています。たとえば、次のURLにあります。

www.45it.com/skin/new/logo.gif

www.45it.comはパス名です。ブラウザは、要求されたWebページを表示し、多数のナビゲーション機能と設定機能を提供するWebユーザエージェントです。 WebブラウザはHTTPクライアントも実装しているため、Webのコンテキストでは、プロセスという意味でブラウザとクライアントの用語の使用を交換します。一般的なWebブラウザには、Netscape Communicator、Firefox、およびMicrosoftのIEがあります。 Webサーバーには、URLでアドレス指定できるWebオブジェクトが格納されています。 WebサーバーはHTTPのサーバー側も実装しています。一般的なWebサーバーは、Apache、MicrosoftのIIS、およびNetscape Enterprise Serverです。 NetcraftはWebサーバーの概要を提供しています[Netcrft 2000]。

HTTPは、Webクライアント(つまりブラウザ)がWebサーバーにWebページを要求する方法と、サーバーがWebページをクライアントに配信する方法を定義します。以下の図は、この要求応答動作を示しています。ユーザーがWebページを要求すると(ハイパーリンクのクリックなど)、ブラウザはページ内の各オブジェクトを要求するHTTP要求メッセージをサーバーに送信します。サーバーは要求を受信した後、これらのオブジェクトを含むHTTP応答メッセージを送信して応答します。 1997年末までに、本質的にすべてのブラウザとWebサーバソフトウェアはRFC 1945で定義されたHTTP /1.0バージョンを実装しました。 1998年初頭に、一部のWebサーバーソフトウェアとブラウザソフトウェアは、RFC 2616で定義されているHTTP /1.1バージョンを実装し始めました。 H1TP /1.1はHTTP /1.0と下位互換性があり、バージョン1.1を実行しているWebサーバーはバージョン1.0を実行しているブラウザーと通信でき、バージョン1.1を実行しているブラウザーはバージョン1.0を実行しているWebサーバーとも通信できます。

HTTP /1.0とHTTP /1.1はどちらもTCPを基礎となるトランスポートプロトコルとして使用しています。 HTTPクライアントは最初にサーバーとのTCP接続を開始します。接続が確立されると、ブラウザプロセスとサーバープロセスはそれぞれのソケットを介してTCPにアクセスできます。前述したように、クライアントソケットはクライアントプロセスとTCP接続の間のゲートであり、サーバー側ソケットはサーバープロセスと同じTCP接続の間のゲートです。クライアントは自身のソケットにHTTP要求メッセージを送信し、また自身のソケットからHTTP応答メッセージを受信します。同様に、サーバーは自身のソケットからHTTP要求メッセージを受信し、さらにHTTP応答メッセージを自身のソケットに送信します。クライアントまたはサーバーが自分のソケットにメッセージを送信すると、そのメッセージは完全にTCPの制御下に入ります。 TCPはHTTPへの信頼できるデータ転送サービスを提供します;つまり、クライアントから送信されたすべてのHTTP要求メッセージは最終的に損失なくサーバーに到達し、サーバーから送信された各HTTP応答メッセージは最終的に損失なくクライアントに到達します。階層型ネットワークアーキテクチャの明らかな利点を見ることができ、HTTPはデータ損失を心配する必要はなく、TCPがデータ損失や順序の間違いから回復する方法を気にする必要もありません。これらは、TCPおよびプロトコルスタックの下位プロトコル層のタスクです。

TCPも輻輳制御メカニズムを使用しています。このメカニズムでは、新しいTCP接続ごとに最初は比較的遅い速度でデータを送信するように強制されますが、ネットワークが輻輳していない限り、各接続はすぐに比較的高い速度まで上昇する可能性があります。この低速転送の初期段階はスロースタートと呼ばれます。

要求されたファイルを送信している間、サーバーはクライアントに関するステータス情報を保存しません。クライアントが数秒以内に同じオブジェクトを再度要求したとしても、サーバーは次のように言って応答しません。代わりに、サーバーはこのオブジェクトを再送信します。これは、以前に行ったことを完全に忘れたためです。 HTTPサーバーはクライアントの状態情報を保持しないため、HTTPはステートレスプロトコルであると言えます。

Copyright © Windowsの知識 All Rights Reserved