ハイパーテキスト転送プロトコル(HTTP)は、送信のためのHTMLなどのアプリケーション層プロトコルハイパーメディアドキュメントです。これは、WebブラウザとWebサーバー間の通信のために設計されていますが、それはまた、他の目的に使用することができます。HTTP古典クライアント従う-サーバモデルを、クライアントが接続を開くための要求を行い、それがサーバの応答を受信するのを待ち。HTTPはステートレス・プロトコルであるサーバーが2つの要求の間で任意のデータ(状態)を保持していないことを意味します。
HTTPの特長
-
HTTPプロトコルは、アプリケーション層のプロトコルであり、デフォルトのポート番号は80であるTCP / IPプロトコル上に構築されています
-
HTTPは、それは非常に簡単にするためにHTTPヘッダでHTTP / 1.0プロトコルの拡張に登場する、スケーラブルです。
-
HTTPはコネクションレスステートレス、に注意を払う、HTTPの性質はステートレスで、クッキーの使用は、ステートフルセッションを作成することができます。
Requestパケット
-
HTTPは、多くの場合、GET、POSTまたはアクションの動作を定義するためのオプション、HEADクライアントのような名詞のような動詞によって引き起こされる方法です。操作は、クライアントリソース取得(GETメソッド)またはHTMLフォームは、フォームの値(POSTメソッド)を送信し、一般的です。
-
URL要素リソース、(通常はHTTPポート80内)のコンテキストで、通常、非常に重要な取得するリソースへのパス、。
-
HTTPプロトコルのバージョン番号。
-
式オプションヘッダヘッダサーバへの他の情報。
-
POSTメソッドのようないくつかの場合は、メッセージ本体は、応答メッセージのボディと似ており、送信するためのリソースが含まれています。
応答メッセージ
応答パケットに次の要素が含まれます。
-
HTTPプロトコルのバージョン番号。
-
対応するのはなぜ成功したか失敗したか、失敗語ったの実行を要求するステータスコード(ステータス・コード)、。
-
ステータス情報、非コード記述情報の権限のステータス情報は、サーバ自体によって設定されてもよいです。
-
HTTPのヘッダー要求ヘッダーと同様、。
-
必要に応じて、要求メッセージに比べて、リソース本体を含む応答メッセージは、より一般的に取得しました。
一般的なステータスコード:
-
200のOK成功したクライアント要求
-
永久的なリダイレクト要求301恒久的に移動
-
一時的なリダイレクト要求302一時的に移動
-
304は変更されていないファイルを変更していない、あなたは直接キャッシュされたファイルを使用することができます。
-
クライアントのために400不正な要求が構文エラーを要求し、それがサーバーによって理解することはできません。
-
401権限権限のない要求。このステータスコードは、WWW-Authenticateヘッダフィールドで使用されなければなりません
-
403禁断のサーバがリクエストを受信しますが、サービスを提供することを拒否しました。サーバーは通常、レスポンスボディにサービスを提供していない理由を与えます
-
404要求されたリソースが存在しない場合、例えば、間違ったURLを入力しましたが見つかりませんでした
-
500内部サーバーエラーサーバーに予期しないエラーが、それは不可能、クライアントの要求を完了すること、発生しました。
-
503サービスは利用できないサーバーが現在、クライアントのリクエストを処理できない、一定期間後に、サーバーが正常に戻るかもしれません。
HTTPとHTTPSの違いの一部
-
HTTPSプロトコルは、証明書は、一般的に支払う自由少し必要で、証明書を要求するCAが必要です。
-
HTTPプロトコルはTCPの上で動作し、すべての内容はクリアテキストで送信され、HTTPSは、SSL / TLS上で動作し、SSL / TLSは、すべての送信内容が暗号化されている、TCP上で実行されます。
-
ポートが同一でないとHTTPおよびHTTPS接続を使用して、完全に異なっている、前者は443であり、80です。
-