HTTP要求プロセスの基礎

HTTPプロトコル分析

HTTPハイパーテキスト転送プロトコル、所定の規則は、WebブラウザにWebサーバから送信されたHTML文書を可能にするワールド・ワイド・ウェブ・情報交換のための基礎であり、ブラウザとWebサーバとの間の相互通信の詳細図です。

 

URL(Uniform Resource Locator)がまた、Webアドレス、インターネット標準のアドレスとして知られています。

次のように標準のURLの形式は次のとおりです。

    プロトコル:// [サーバーIP:ポート] /パス/ [?クエリ]

ブラウザは、HTTPリクエストがHTTP要求を開始するために、他のツールを利用することができます送信し、例えば、Linuxシステムcurlコマンド

 

HTTPプロトコルは、最新バージョンでは、HTTPはステートレスなプロトコルで、1.1です。状態は、クライアントがサーバに要求を行う際には、Webサーバーが応答(Response)を返し、接続が閉じられることを意味し、WEBサーバとWEBブラウザ間の永続的な接続を確立するために必要とされていないん、サーバーがないん接続に関する情報を保持します。つまり、HTTPリクエストは、クライアントによって開始することができ、サーバはクライアントにデータを送信することはできません。

1.HTTP要求

HTTPリクエストは、3つの部分、すなわち、要求ライン(リクエストメソッド)、リクエストヘッダ(ヘッダのメッセージ)、要求本体を含みます。

POST / login.php HTTP / 1.1 //要求ライン

HOST:www.test.com //リクエストヘッダ

ユーザーエージェント:Mozillaの/ 5.0(WindowsのNT6.1; RV:15.0)のGecko / 20100101 Firefoxの/ 15.0

                  //空白行、ヘッドエンドの代わりに要求

ユーザー名=管理者&パスワード=管理者//リクエストボディ

2.HTTP応答

HTTPリクエストに対応するHTTP応答で、HTTPレスポンスは、3つの部分、すなわち、応答ライン、ヘッダ応答(メッセージヘッダ)と応答テキスト(メッセージ・トピック)でもあります。

HTTP / 1.1 200 OK //応答ライン

日付:木、28Feb 2018午前1時23分37秒GMT //レスポンスヘッダ

                    //空白行、頭に代わって応答の終わり

<HTML> //通話やテキストメッセージの件名応答

 

リクエストメソッド、次のようにそれぞれの解釈の様々な方法があります(すべてのメソッドすべて大文字):

GET:リクエスト-URLによって識別される要求リソースを

POST:リクエスト-URLで識別されるリソースで追加の新データ

HEAD:ヘッダ内のRequest-URLで識別されるリソースに応じてメッセージを求めます

PUT:サーバーへのストレージ・リソース要求を、そのアイデンティティとのRequest-URLとして

DELETE:リクエスト-URLで識別されるリソースを削除するには、サーバに要求

TRACE:テストまたは診断のために主に使用受信した要求情報要求サーバエコー

CONNECT:将来の使用のために予約

OPTIONS:リクエストクエリのパフォーマンスサーバ、または他の関連リソースのニーズとオプション

 

HTTPステータスコード:

クライアントがHTTP要求を開始するとき、サーバは受信し、HTTP応答の最初の行は、最も重要な点は、HTTPステータスコードであるクライアントに応答メッセージを送信します。

1XXは:指示情報は、 - 要求が受信されたことを示し、処理は続行します

2xx:成功 - 受け入れ、理解し、要求が正常に受信されたことを示します

300番台:リダイレクション - 要求を満たすためには、さらなるステップを行かなければなりません

4XX:クライアントエラー - リクエストに構文エラーがありますか、要求が達成できません

5xxの:サーバー側のエラー - サーバーが正当な要求を達成するために失敗しました

一般的なステータスコード、状態の説明、記述:

200 OK //クライアント要求が成功しました

400不正な要求//クライアントが構文エラーを要求し、それがサーバーによって理解することができません

401不正//不正なリクエストは、ステータスコードは、WWW-Authenticateヘッダフィールドで使用されなければなりません

403禁止//サーバがリクエストを受信しますが、サービスを提供することを拒否しました

間違ったURLを入力してください://要求されたリソースは、例えば、存在しませんが見つかりませんでした404

//サーバーが発生した予期しないエラー500内部サーバーエラー

503サーバー利用不可//サーバーが現在クライアントの要求を処理することができない、一定期間後に正常に戻してもよいです

 

HTTPメッセージ

また、HTTP HTTPメッセージのヘッダー(HTTPヘッダ)として知られ、それは、4つの部分、すなわち、要求ヘッダ、応答ヘッダ、一般的なヘッダおよびヘッダのエンティティから成ります。

1>リクエストヘッダ

要求ヘッダーは、唯一のHTTPリクエストに表示されるヘッダが拡張クライアントを許可要求し、クライアントがサーバ側リクエスト情報自体に送信されます。次のように一般的なHTTP要求ヘッダです。

HOST:ホスト:主のような、要求されたリソースのインターネットホストおよびポート番号を指定するために使用www.test.com:8080

ユーザーエージェント:そのオペレーティングシステム、ブラウザ、およびその他の属性に許可するクライアントは、サーバーに指示します

リファラー:URLは、ユーザーがこのページに来たから、単純に、URLの現在のアクセスを表し

クッキー:それはなど、要求者のアイデンティティを表現するために使用されるテキストの一部であり、

範囲:マルチスレッドのダウンロードは、この要求に向かいます

X-前方用:これはIP要求の終了を表し、複数存在してもよく、コンマで区切ら

受け入れ:MIMEクライアントのタイプは、その情報を受信指定し、受け入れるよう:text / htmlの、それはクライアントは、テキスト、HTMLを受信したいことを示しています

受け入れ-文字セットを:クライアントを指定するために使用される文字セットは、(送信することができますどのような文字セットをサーバに伝える)を受信

2>レスポンスヘッダ:HTTPヘッダが要求に応じてサーバからクライアントに送信されます。

1.Server:サーバが使用するWEBサーバ名。検出を回避することができる攻撃者はこのヘッダ情報を変更します

2.Set-クッキー:のSet-Cookieを顧客サービス側に、このカメラを見ることで、あなたは明らかにクライアントが開始にCookie情報サーバを見ることができます

3.Last修飾:ヘッドを介してサーバにブラウザに指示、最後に変更されたリソース

4.Location:サーバは、ブラウザが要求を受信した後、通常は、すぐに使用することは通常302ステータスコードでヘッドの意味の範囲内のページのLocationヘッダーにアクセスし、任意のページを訪問し、この頭をブラウザに指示します

5.Refresh:サーバーは定期的にブラウザを更新して、ブラウザの更新ヘッドを伝えます

3>ノーマルヘッド

一般にヘッダ、すべての要求メッセージと応答メッセージの数が少ないためのヘッダフィールドが、エンティティは、メッセージの送信のために送信されないため

4>エンティティヘッダ

要求メッセージと応答メッセージには、一方のエンティティを送信することができます。メタエンティティヘッダは、要求によって識別されたリソースとエンティティ本体に関する情報を定義します。エンティティタイプ情報を含むエンティティのコンテンツプロパティであり、メタ情報、レングス圧縮法、最終更新時刻。:次のように一般的な固体ヘッド

送信側のエンティティボディを指定するためのメディアタイプのエンティティヘッダフィールド:コンテンツタイプ

コンテンツ長:エンティティヘッダフィールド進数のエンティティボディの長さを表現するバイトに格納されていることを示し

Last-Modified:最終日のエンティティヘッダフィールドリソースと時間を示すために

 

HTTPプロトコルとHTTPSプロトコルの違い:

それは、実際には、HTTPのアップグレード版HTTPチャネルを目的とした安全なHTTPSプロトコルであるが、それは、単純なHTTPプロトコルよりも安全です。

HTTPSは、安全な基盤SSL、HTTPの下で両方追加SSL層です。データがネットワーク経由で送信されるすべてのデータの機密性と完全性を保護し、安全なHTTPS伝達機構を介して伝達され、あなたは、非侵襲的傍受攻撃の可能性を低減することができます。

次のようにHTTPSとHTTPの主な違い

1、httpsプロトコルは、このように料金が必要、一般にあまりフリー証明書、証明書を申請する必要があるCA

図2に示すように、HTTPはハイパーテキスト転送プロトコルであり、情報が平文で送信され、HTTPSは、セキュリティSSL転送プロトコルで暗号化され

3、HTTPおよびHTTPSの使用は、ポートと同じではない、後者443前者80全く異なる接続であります

よりHTTPSプロトコルはSSL + HTTP暗号化伝送プロトコル、ネットワーク認証プロトコルで構成され、HTTPプロトコルセキュリティ:4、HTTP接続は、非常に単純でステートレスであります

HTTPSの利点

  絶対的な安全性ではないHTTPSは、組織の暗号化アルゴリズムをマスターする権限のルート証明書を把握していないが、また、攻撃の仲介形であってもよいが、HTTPSは、主に次のような利点には、最も安全なソリューションの既存の枠組みの中であることができます。

  1.確実にするために、データを送信するHTTPSプロトコルを使用して、サーバがユーザを認証することができ、その正しいクライアントとサーバ

  2.HTTPSプロトコルはSSL + HTTP暗号化された伝送プロトコル、送信中に盗難からデータを防止するために、ネットワーク認証プロトコル、セキュリティよりHTTPプロトコル、データの整合性を確保するために変更することによって構成されています

  絶対ではなく、セキュリティが、それは非常に人を攻撃のコストを増大させても、現在の枠組みの下で3.HTTPSは、最も安全なソリューションです。

  2014年8月4. Googleの検索エンジンのアルゴリズムの調整は、と言って「高くなり、検索結果でのHTTPS暗号化されたサイトのランキングを使用して、同じHTTPサイトに比べると。」

HTTPSの欠点

  HTTPSは、大きな利点を持っているが、比較的に欠点それでも、話すものの:

  プロトコルハンドシェイク段階の時間がかかり、ページのロード時間は、約50%の消費電力の20%〜10%の増加を延長する1.HTTPS

  でも、既存のセキュリティ対策にも影響を受けることになります、データのオーバーヘッドと電力消費量が増加し、効率的なHTTPなどの接続キャッシュが良いよう2.HTTPS

  3.SSL証明書がお金を必要とし、より強力な高コストの証明書、個人サイト、小規模なサイトでは、一般的には必要ありません。

  4.SSL証明書は通常、同じIPに複数のドメイン名をバインドすることはできません、IPをバインドするために必要とされ、IPv4が資源の消費をサポートすることはできません

  レンジ5.HTTPS暗号化プロトコルは、ハッカーの攻撃では、比較的限られている、サービス拒否攻撃、ハイジャックや他のサーバーの拒否に関しては、ほぼすべての効果を達成することはありません。最も重要な、SSL証明書の信用チェーンシステムが実現可能な中間者攻撃として、特にCAのルート証明書を制御することができますいくつかの国の場合には、安全ではありません

おすすめ

転載: www.cnblogs.com/happystudyhuan/p/11261513.html